Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.раб.+для+ПМИ+22+( 5-6).doc
Скачиваний:
3
Добавлен:
23.11.2019
Размер:
121.86 Кб
Скачать

Способ 1.

#include <iostream>

#include <conio>

template <class Tree>

Tree maximum(Tree M, Tree MM)

{ Tree max=MM;

if (M>max) max=M;

return max;}

void main(){

int i;

int Vremi,MI[10];

cout<<"*** Int *** \n";

for (i=0; i<=10; i++){

cin>>MI[i];

if (i==0) Vremi=MI[i];

Vremi=maximum(MI[i],Vremi);}

cout<<"Max: "<<Vremi<<"\n";

double Vremd,MD[10];

cout<<"*** Double *** \n";

for (i=0; i<=10; i++){

cin>>MD[i];

if (i==0) Vremd=MD[i];

Vremd=maximum(MD[i],Vremd);}

cout<<"Max: "<<Vremd<<"\n";

char VremCh,MCh[10];

cout<<"*** Char *** \n";

for (i=0; i<=10; i++){

cin>>MCh[i];

if (i==0) VremCh=MCh[i];

VremCh=maximum(MCh[10],VremCh);}

cout<<"Max: "<<Vremd<<"\n";

getch();}

Способ 2.

#include <iostream>

#include <conio>

template <class Tree>

Tree maximum(const Tree *array)

{ Tree max=array[0];

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

if (array[i]>max) max=array[i];

return max;}

void main(){

int i;

int MI[10];

cout<<"*** Int *** \n";

for (i=0; i<=10; i++) cin>>MI[i];

cout<<"Max: "<<maximum(MI)<<"\n";

double MD[10];

cout<<"*** Double *** \n";

for (i=0; i<=10; i++) cin>>MD[i];

cout<<"Max: "<<maximum(MD)<<"\n";

char MCh[10];

cout<<"*** Char *** \n";

for (i=0; i<=10; i++) cin>>MCh[i];

cout<<"Max: "<<maximum(MCh)<<"\n";

getch();}

Лабораторная работа № 6 . Динамические структуры данных

Разработать программу, выполняющую операции со структурами данных, реализованными в виде связанных списков. Алгоритмы выполнения каждой операции оформить в виде функции. Программа должна содержать меню, позволяющее протестировать все операции с динамической структурой. Варианты заданий приведены в табл. 1 -3.

Таблица 1

Варианты структур данных

Структура данных

Операции

Варианты

Линейный список

Добавление элемента в начало, создание списка из n элементов, проверка списка на отсутствие в нем элементов, поиск позиции элемента с заданным значением, удаление элемента после элемента с заданной позицией (вар.1), удаление дубликатов (вар.11), получение значения элемента по его позиции, вывод списка

1, 11

Циклический список

Добавление элемента, создание списка из n элементов, проверка списка на отсутствие в нем элементов, удаление дубликатов (вар. 12), удаление элемента с заданным значением (вар. 2, 18), вывод списка

2, 12, 18

Стек

Добавление элемента, удаление элемента, создание стека из n элементов, проверка стека на отсутствие в нем элементов, получение значения элемента из вершины стека, очистка стека, вывод стека

3, 13

Очередь

Добавление элемента в конец, создание очереди из n элементов, проверка очереди на отсутствие в ней элементов, удаление элемента из начала, удаление всех элементов, получение значения из начала очереди, вывод очереди

4,14, 15

Очередь с приоритетами

Создание пустой очереди, добавление элемента, проверка очереди на отсутствие в ней элементов, удаление элемента с наибольшим приоритетом, получение элемента с наибольшим приоритетом, сцепление двух очередей, вывод очереди

5, 16

Дек

Добавление элемента справа, удаление элемента слева (вар. 17), удаление элемента справа (вар.6), создание списка из n элементов, проверка списка на отсутствие в нем элементов, копирование дека (вар. 6), копирование дека в обратном порядке (вар. 17), получение значения правого элемента, вывод дека

6, 17

Дек с ограниченным выходом

Добавление элемента справа, добавление элемента слева, создание дека из n элементов, проверка дека на отсутствие в нем элементов, удаление элемента справа, удаление всех элементов, получение значения правого элемента, вывод дека

7

Дек с ограниченным входом

Добавление элемента слева, создание дека из n элементов, проверка дека на отсутствие в нем элементов, удаление элемента справа, удаление элемента слева, получение значения левого элемента, удаление всех элементов, сравнение двух деков, вывод дека

8

Множество

Создание пустого множества, проверка вхождения элемента в множество, включение элемента в множество, объединение двух множеств, пересечение двух множеств, разность двух множеств, вывод множества

9, 19

Словарь

Создание пустого словаря, проверка словаря на отсутствие в нем элементов, включение элемента в словарь, поиск значения по ключу, исключение элемента из словаря по ключу, вывод словаря, удаление всех элементов.

10, 20

Таблица 2