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;

}


 

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

67110. Шкільна кімната Бойової Слави: історична краєзнавча освіта школярів 107.5 KB
  У той час в кожній учнівській групі виникли пошукові загони які розпочали збір експонатів для майбутньої Кімнати. І на зборах школи було прийнято рішення про відкриття кімнати Бойової Слави. Найменша організаційна ланка кімнати Бойової Слави відділ який має свою назву та об’єднує дітей за інтересами.
67111. Папір. Види паперу. Загальне уявлення про виробництво паперу 32.5 KB
  Обладнання: таблиці із зображенням послідовності процесу виготовлення паперу дидактичний матеріал із видами паперу картон клей пензлик гофрований папір зразки роботи. Тут усіх вітають майстер Папірчик та його помічники. На уроці ви довідаєтесь яким буває папір та як його виготовляють створите аплікацію.
67112. Гриби – це користь чи отрута? 6.22 MB
  Розповісти учням про позитивні та негативні якості грибів. Навчити учнів правилам техніки безпеки при споживанні та зборі грибів. Засвоїти правила першої допомоги при отруєнні грибами. Розширити вміння учнів працювати в групах, працювати з додатковою літературою.
67113. Гумористично-розважальний захід 44 KB
  Але чи завжди ми прислухаємося до них ІІ ведучий: Сьогодні в нас є чудова нагода поспілкуватися триває тиждень української мови. І ведучий: А я хочу навести цікавий приклад. Може це й правильно ІІ ведучий: Отже нам приємно бачити всіх хто відгукнувся на наше запрошення.
67116. ФІ3ИКА НАВКОЛО НАС 68 KB
  Мета: зацікавити дітей показом цікавих i ефектних дослідів, які можна поясните на основі знанъ з кypcv природознавства та географії. Навчити спостерігати i робити висновки. Проілюструвати єдність законів природи. Зацікавити дітей майбутнім предметом.
67117. Пам’ять священна 49.5 KB
  Повернутися до подій 1941-1945 рр., поглибити знання про події Великої Вітчизняної війни, розвивати в учнів уміння опрацьовувати і порівнювати статистичні дані, аналізувати історичні документи, виховувати в учнів почуття гордості за український народ і його подвиг в роки війни.