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;

}


 

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

43548. Геоинформационная система г. Барнаула 554 KB
  Работа с готовым ГИС-проектом осуществляется посредством специального гибкого инструмента запросов. Запрос на получение информации об объектах векторной карты составляется пользователем с помощью специальных условий, по которым ArcView определяет круг объектов, атрибуты которых удовлетворяет заданным условиям. Условия могут быть по нескольким параметрам, т.е. вложенными, но не должны взаимно исключать друг друга
43549. Контроль толщины металлических пленок в процессе изготовления и в готовых структурах 1.5 MB
  При измерении толщины пленки взвешиванием считают, что плотность нанесенного вещества равна плотности массивного. Под эффективной толщиной пленки понимают толщину, которую она имела бы, если бы образующее ее вещество было равномерно распределено по поверхности с плотностью, равной плотности массивного вещества.
43550. Організація будівництва 5-ти поверхового, 2-х секційного, 60-ти квартирного житлового будинку 139.72 KB
  Мета технологичного проектування – знаходження оптимальних технологічних рішень і організаційних умов для виконання будівельних процесів, які забезпечують випуск будівельної продукції в задані строки при мінімальному використанні усіх видів ресурсів.
43551. Статистический анализ факторов, обуславливающий эффективность производства и реализации зерна 252 KB
  Экономико статистический анализ производства и реализации зерна. Показатели эффективности производства и реализации зерна. Прогнозирование основных показателей эффективности производства зерна. Статистический анализ факторов обуславливающий эффективность производства и реализации зерна.
43552. Організація будівництва автомобільної дороги 937 KB
  Обґрунтування строку виконання робіт та визначення змінного темпу будівництва. Вибір метода організації дорожньобудівельних робіт . Визначення обсягів дорожньобудівельних робіт за їх видами . Організація матеріальнотехнічного забезпечення дорожньобудівельних робіт.
43553. Проект Внутрігосподарського землеустрою СВК „Надія” 236.5 KB
  Ружинський район входить до складу лісостепової зони України, яка характеризується достатньою кількістю опадів, помірною зимою, досить теплим літом. Переважаючі вітри: влітку – південно західні, взимку – східні та південно-східні.
43554. Тепловой расчет конвективной туннельной сушильной установки 3.04 MB
  Выполнить тепловой расчет конвективной туннельной сушильной установки, определить длительность сушки, размеры установки, выбрать вентилятор для подачи наружного воздуха, дымосос и циклон, на основании следующих данных.
43555. Модуль 2ННК-М 402 KB
  Для проведення ГК в свердловину опускають детектор γ-опромінення і електронну схему, яка перетворює зареєстровані γ-кванти в імпульси напруги. В інших типах РК вимірюється штучна радіоактивність,створена в породах джерелом гамма (ГГК) або нейтронного стаціонарного (ННК-НТ), ННК-Т, НГК і імпульсного (ІННК,ІНГК) випромінювання.
43556. Створення приймача амплітудно-модульованих сигналів 4.37 MB
  Вибір та розрахунок вибіркових систем тракту проміжної частоти Склад комплекту: пристрій має самостійне призначення може працювати з підсилювачем звукової частоти;Допоміжне обладнання: блок живлення від мережі змінного струму 220В 50Гц; стандартні з’єднання з підсилювачем звукової частоти. Необхідну вибірність по сусідньому каналу отримують в каскаді перетворювача частоти за допомогою або фільтрів зосередженої селекції або п’єзоелектричних фільтрів а вибірність по дзеркальному каналу забезпечується вхідним колом.