71509

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

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

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

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

Русский

2014-11-08

812.16 KB

11 чел.

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

}


 

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

10629. Гносеология И.Канта 93.5 KB
  Гносеология И.Канта Роль Иммануила Канта 1724-1804 в истории философии трудно переоценить. Этого мыслителя называют основателем немецкой классической философии являющейся вершиной европейской рационалистической философии. Наряду с И.Кантом другими выдающимися пре
10630. Современная западная философия: иррационализм и сциентизм 24.28 KB
  Современная западная философия: иррационализм и сциентизм Аннтотация: Современная западноевропейская философия весьма разнообразна. Для философии 20 века характерно выделение двух полярных направлений – сциентизма и иррационализма. В качестве наиболее показательн
10631. Русская философия. Формы бытования русской философии 23.27 KB
  РУССКАЯ ФИЛОСОФИЯ Аннотация: Русская философия в собственном смысле этого слова возникла только в 18 веке а на рубеже 19-20 вв. пережила свой расцвет. Находясь в ситуации жестокой цензуры философия выражалась в следующих формах: иконописное творчество художественная ...
10632. Проблема человека и философская антропология 26.7 KB
  Проблема человека и философская антропология Человек всегда является проблемой для самого себя. Между тем в обыденной жизни мы можем с уверенностью выделить человека из окружающего мира. Во многом подобный выбор становится возможным благодаря привычке здравому смысл
10633. Представление о совершенном человеке в различных культурах 19.73 KB
  Представление о совершенном человеке в различных культурах Обращаясь к культурам прошлого и современности можно увидеть отсутствие единого представления о совершенном человеке. Данный факт может привести либо к релятивизму либо к догматизму. В первом случае признан
10634. Глобальные проблемы человечества. Урок 106.57 KB
  Глобальные проблемы человечества АННОТАЦИЯ В разделе рассматриваются вопросы философской глобалистики. Определяется само понятие глобальной проблемы дается классификация глобальных проблем определяются их причины и формулируются обозначенные современным...
10635. Этика, мораль, нравственность 20.07 KB
  Этика мораль нравственность Слово этика происходит от греческого ethos этос нрав обычай характер привычка. В философию данный термин ввел Аристотель. Этическими добродетелями он назвал особый класс качеств указывающих на свойства человеческого характера муже...
10636. Справедливость. Понятие справедливости 20.43 KB
  Справедливость Понятие справедливости. Справедливость является одним из фундаментальных принципов регулирующих взаимоотношения между людьми на основе представлений о должном о сущности человека и его правах. С ее помощью осуществляется распределение и перераспред