- •Лабораторная работа №6
- •1. Постановка задачи:
- •5. Функция main()
- •Лабораторная работа №11
- •1. Постановка задачи.
- •Задача 1.
- •3. Функция main().
- •Задача 2.
- •5. Описание класса
- •Int getmin() {return min;} //получение количества минут
- •Int getsec() {return sec;} //получение количества секунд
- •8. Функция main()
- •Задача 3.
- •12. Функция main()
- •Задача 4.
- •15. Функция main()
- •Задача 5.
- •19. Функция main()
- •Лабораторная работа №13
- •1. Постановка задачи. Задача 1.
- •Задача 2.
- •Задача 3.
- •2. Описание класса
- •Int getmin() {return min;} //получение количества минут
- •Int getsec() {return sec;} //получение количества секунд
- •Задача 1.
- •5. Функция main()
- •Задача 2.
- •8. Функция main()
- •Задача 3.
- •11. Функция main()
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) Доступ к линейному списку будет последовательным.