Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 Вариант.doc
Скачиваний:
11
Добавлен:
17.09.2019
Размер:
227.84 Кб
Скачать

5. Функция main()

void main()

{

char ch;

Vect a(5),b(0),c(3,2);

/* создание векторов длиной 5, заполненного нулями,

пустого вектора, длиной 3, заполненного значением 2

*/

cin>>b; //ввод вектора b

cout<<a<<endl; //вывод вектора a

cout<<b<<endl; //вывод вектора b

cout<<c<<endl; //вывод вектора c

cout<<"Size of vector b is "<<b()<<endl; //длина вектора b

Vect d(a); //создание вектора-копии из вектора a

a[4]=121; //пятому элементу вектора a присваивается значение 121

cout<<a<<endl<<d<<endl; //вывод векторов a и d

a[2]=34; //третьему элементу вектора a присваивается значение 34

d=a; //вектору d присваивается содержимое вектора a

cout<<d<<endl; //вывод вектора d

// присваивание значений элементам векторов

a[0]=1;

a[2]=22;

d[0]=1;

d[2]=-1;

d[1]=5;

d[3]=2;

cout<<"Multiplication of vecors a and d is "<<a*d<<endl; //произведение векторов a и d

Iterator itt1,itt2;

itt1=d.first();

itt2=a.first();

cout<<"First elements of vectors a and d are "<<*itt2<<" "<<*itt1<<endl; //первые элементы векторов

cout<<"Vector d"<<endl;

while (itt1!=d.last())

{

cout<<*itt1<<" "; //вывод очередного элемента

itt1=itt1+1; // смещение к следующему элементу

}

cout<<endl;

cout<<"Press any key";

cin>>ch;

}

6. Результат работы программы:

input size

4

input data

1 2 4 8

0 0 0 0 0

1 2 4 8

2 2 2

Size of vector b is 4

0 0 0 0 121

0 0 0 0 0

0 0 34 0 121

Multiplication of vecors a and d is 1 0 -22 0 14641

First elements of vectors a and d are 1 1

Vector d

1 0 22 0 121

Press any key

7.

1) Абстрактным называется тип данных, определяемый через операции, которые можно совершать над его содержимым. Представление содержащихся данных не имеет значения.

Примерами абстрактных типов могут служить функция или класс в C++.

2) Примером абстракции через параметризацию может являться функция.

3) Примером абстракции через спецификацию является класс.

4) Контейнером называется объект, содержащий набор однотипных элементов. Примерами контейнеров могут быть массив и список.

5) Основные группы операций с контейнерами:

  • операции доступа;

  • операции добавления;

  • операции поиска;

  • операции объединения.

6) Доступ к элементам контейнера может быть последовательным, прямым или ассоциативным. Пример последовательного доступа – линейный список, пример произвольного доступа – массив.

7) Итератор – это объект, который обеспечивает последовательный доступ к элементам контейнера.

8) Итератор можно реализовать как набор функций – членов класса-контейнера или как самостоятельный класс.

9) Объединение контейнеров может быть реализовано следующими способами:

  • сцепление (последовательное добавление данных из второго контейнера);

  • добавление в упорядоченный набор с сохранением порядка;

  • добавление только элементов, не содержащихся в первом контейнере (объединение множеств).

  • добавление только элементов, содержащихся в обоих контейнерах (пересечение множеств).

  • удаление из первого контейнера данных, содержащихся во втором (вычитание множеств)

  • извлечение части контейнера.

10) Контейнер, состоящий из элементов «ключ-значение» предоставляет ассоциативный доступ к данным.

11) Контейнер, в котором вставка и удаление элементов выполняется на одном конце, называется стек.

12) d int mas[100] – контейнер-массив из 100 элементов.

13) d int mas – переменная типа int, не являющаяся контейнером.

14) Доступ к элементам динамического массива будет прямым.

15) Доступ к линейному списку будет последовательным.