71509

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

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

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

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

Русский

2014-11-08

812.16 KB

15 чел.

Лабораторная работа №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;

}


 

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

72673. Оценка стоимости нежилого торгового помещения (склад) с целью продажи 97.69 KB
  Неспециализированная недвижимость – это недвижимость, на которую существует всеобщий спрос, и которая обычно покупается, продается или арендуется на открытом рынке для того, чтобы использовать ее для существующих или аналогичных целей, или в качестве инвестиции, или для развития и освоения.
72674. Анализ обеспеченности здания техническими средствами и способами пожаротушения и предотвращения распространения пожара 428 KB
  Основной проблемой пожарной безопасности здания является приведения, изначальной пожароопасности объекта в такое состояние, при котором исключается возможность потери на объекте, а в случае возникновения пожара, обеспечивается защита людей и материальных ценностей от опасных факторов пожара.
72675. Проект информационной системы для работы с реляционной базой данных активного сетевого оборудования 531.48 KB
  Целью курсового проекта является приобретение практических навыков в использовании полученных знаний при разработке баз данных, закрепление основных теоретических положений курса, получение более детального представления о взаимодействии основных компонент банка данных в процессе обработки информации.
72676. Улучшение параметров транзисторного стабилизатора с защитой от КЗ с током нагрузки от 3А 512.42 KB
  При перегрузке входа стабилизатора к участку эмиттер-коллектор регулирующих транзисторов будет приложено полное входное напряжение. Поэтому, для повышения надежности данной схемы, максимально допустимое напряжение применяемых транзисторов должно быть, по крайней мере, в 1.5 раза...
72677. Программная реализация метода последовательного перебора 1.55 MB
  В работе имеется 2 главы. Первая глава посвящена обзору численных методов оптимизации функций одной переменной. Во второй главе представлены сведения о программной реализации методов равномерного перебора и последовательного перебора, а также рассмотрено тестирование программ на примере функции.
72678. Изучение и раскрытие теоретических аспектов проблемного обучения в школе 49.98 KB
  Цель курсовой работы: изучить и раскрыть теоретические аспекты проблемного обучения в школе. Задачи курсовой работы: изучить и раскрыть сущность технологии проблемного обучения в учебном процессе; рассмотреть технологию проблемного обучения в учебном процессе на уроках химии; разработать урок по химии...
72679. Разработка модели информационной системы расчета стоимости раскроя листового материала 1.71 MB
  В данном курсовом проекте описывается проектирование модели информационной системы расчета стоимости раскроя листового материала на предприятии ООО НПК Изуран. Целью проекта является разработка модели информационной системы расчета стоимости раскроя листового материала.
72680. Проект системы приточной вентиляции спортзал спортивного комплекса 363.02 KB
  В условиях современного производства и строительства вентиляция и кондиционирование воздуха являются одной из главных мер обеспечивающих наилучшие условия для высокопроизводительного труда повышения творческой активности а также полноценного отдыха людей.