71509

Разработка и отладка алгоритмов и программ с использованием шаблонов классов и алгоритмов библиотеки STL

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: Получить практические навыки в разработке алгоритмов и написании программ с использованием шаблонов классов и алгоритмов библиотеки STL. Общая постановка. Дано: число N и последовательность a1, a2,... aN Создать шаблон класса, порождающий динамические одномерные массивы...

Русский

2014-11-08

812.16 KB

12 чел.

Лабораторная работа №21

Тема работы: Разработка и отладка алгоритмов и программ с использованием шаблонов классов и алгоритмов библиотеки STL.

Цель работы:Получить практические навыки в разработке алгоритмов и написании программ с использованием шаблонов классов и алгоритмов библиотеки STL.

Общая постановка. Дано: число N и последовательность a1, a2, … aN
Создать шаблон класса, порождающий динамические одномерные массивы с элементами различных типов (вещественные, целочисленные, символьные и т.д.). Тип данных и результат являются параметрами по отношению к классу, программа должна иметь методы инициализации, конструктор, деструктор, метод просмотра значений созданного массива, согласно заданному алгоритму.

a1, -a1*a2, +a1*a2*a3, … ,(-1)N*a1*a2*…aN;

Дан массив слов. Преобразовать массив слов, заменив во всех словах все группы символов “ab” на символы “ссс”. Получить подстроку, взяв от каждого слова массива длиной более 1 символа по две конечных буквы. Сформировать предложение из тех слов массива, которые не содержат в своем составе символов из полученной подстроки

Приложение 1

Блок схема задачи 1

 

Приложение 1

Блок схема задачи 2

Приложение 2

Исходный модуль задачи 1

#include "stdafx.h"

#define SIZE 255

#include "iostream"

#include "clocale"

#include "conio.h"

#include "stdlib.h"

#include "string.h"

#include "stdio.h"

#include "cstdlib"

#include "iomanip"

#pragma warning(disable:4996)

using namespace std;

template<class type> class A

{    

type *t,*newt;

int size;

public:

voidinit(int n, type q[]);

void get();

void run();

};

template<class type> void A <type>::init(int n, type q[])

{

t=new type[n];

for(int i=0;i<n;i++)

t[i]=q[i];

size=n;

}

template<class type> void A <type>::run()

{

newt=new type [size];

for(int i=0; i<size;i++)

{

pr=1;

newt[i]=(pr+(pow(-1,i)*t[i]));

}

}

template<class type> void A <type>::get()

{

for (int i=0;i<size;i++)

cout<<newt[i]<<endl;

}

int _tmain(intargc, _TCHAR* argv[])

{  

setlocale(LC_ALL,"Russian");  

inti,n,*n1;

cout<<"Ââåäèòå N: ";

cin>>n;

n1=new int [n];

for(i=0;i<n;i++)

{

cout<<"Ââåäèòå N["<<i<<"]: ";

cin>>n1[i];

}

A<int> a;

a.init(n,n1);

a.run();

a.get();

getch();   

return 0;

}

Исходный модуль задачи 2

#include "stdafx.h"

#include "windows.h"

#include "iostream"

#include "string.h"

#include "math.h"

#pragma argsused

#include "conio"

std::stringToRus(conststd::string &in)

{

char*buff= new char[in.length()+1];

CharToOem(in.c_str(),buff);

std::string out(buff);

delete [] buff;

return out;

}

int main(incargc,char* argv[])

{

string str1("ab.");

string str2("ccc".);

cout<<ToRus("Исходные строки:\n");

cout<< "str1: " <<ToRus(str1)<<endl;

cout<< "str2: " << str2 <<"\n\n";

\\

cout<<ToRus(вставляем строку str2 в строку str1:\n");

str1.insert(5,str2);

cout<<ToRus(str1) << "\n\n";

cout<<ToRus("Удаляем 7 символов из строки str1:\n");

str1.erase(5,7);

cout<<ToRus(str1) << "\n\n";

\\

cout<<ToRus("Заменяем 5 символа в str1 cтрокой str2:\n");

str1.replace(5, 2, str2);

cout<<ToRus(str1) <<endl;

getch();

return 0;

}


 

А также другие работы, которые могут Вас заинтересовать

76221. Задачи планирования и прогнозирования макроэкономических процессов 29.37 KB
  Теория прогнозирования и планирования экономики базируется на экономической теории. Если последняя изучает глубинные процессы экономического развития, устанавливает их суть, движущие силы для любых общественно-экономических формаций...
76223. Основи культури мовлення 23.33 KB
  Мова – це суспільне явище, засіб формування, становлення особистості, пізнання й освоєння світу, засіб спілкування між людьми, передання і набуття досвіду. За тлумачним словником української мови мова – сукупність довільно відтворюваних загальноприйнятих у межах даного суспільства...
76224. Пересветов Иван Семенович 18.58 KB
  Пересветов провел в военных походах служа наемником польского короля участвовал в войнах Фердинанда I Чешского и Яноша Запольни за венгерскую корону побывал в Венгрии и Молдавии.
76225. Преступность несовершеннолетних 29.63 KB
  Преступность несовершеннолетних, является составной частью преступности вообще, но и имеет свои специфические особенности, что позволяет рассматривать ее в качестве самостоятельного объекта криминологического изучения.
76226. Охорона навколишнього середовища. Законодавство України про збереження довкілля і безпеку життєдіяльності людини 29.38 KB
  Законодавство України про збереження довкілля і безпеку життєдіяльності людини Становлення суверенної України повинно супроводжуватися створенням безпечного стану довкілля виробництва побутових умов для життєдіяльності людини.
76227. Обучение основам методики оценки и коррекции телосложения 34.61 KB
  Такое же сильное давление между двумя позвонками возникает когда человек сидит наклонившись вперед не опираясь на руки. Если же опираться на руки положив их на стол или спинку стула нагрузка на верхнюю часть туловища снижается и тем самым уменьшается давление на позвонки.
76228. ШАРОВАЯ МОЛНИЯ: МИФ ИЛИ РЕАЛЬНОСТЬ? 72.5 KB
  Шаровая молния — светящийся сгусток горячего газа, изредка появляющийся в грозовых погодных условиях. Это явление до конца не изучено, но активно изучается. На сегодняшний день ясно, что шаровая молния - просто красочное атмосферное явление, проявление атмосферного электричества...
76229. Государственная регистрация прав 89.78 KB
  Основания для отказа или приостановления государственной регистрации. Совершение надписей на правоустанавливающих документах и выдача удостоверений о произведенной государственной регистрации.