Main.cpp
#include " stdafx.h" #include< iostream> #include< vector> #include < string> #include < conio.h> #include " Student.h" using namespace std; void main() { setlocale(LC_ALL, " Ukrainian"); vector< int> v; int i; for(i=0; i< 10; i++) v.push_back(i); cout< < " size=" < < v.size()< < " \n"; vector< int>:: iterator p=v.begin(); while(p! =v.end()) { cout< < *p< < " "; p++; } cout< < endl; cout< < " Новий вектор" < < endl; vector< int> w(5, 1); int j; for(j=0; j< 5; j++) cout< < w[j]< < " "; cout< < endl; vector< int>:: iterator pp=w.begin(); pp+=2; cout< < " Вставили 10 елементiв зi значенням 9 пiсля 2 елемента" < < endl; w.insert(pp, 10, 9); pp=w.begin(); while(pp! =w.end()) {cout< < *pp< < " "; pp++; } cout< < endl; cout< < " Видаляєм всi вставленi елементи" < < endl; pp=w.begin(); pp+=2; w.erase(pp, pp+10); pp=w.begin(); while(pp! =w.end()) {cout< < *pp< < " "; pp++; } cout< < endl; cout < < " Створюємо вектор користувацького типу STUDENT" < < endl; vector < Student> s(3); int k; s[0]=Student(" Ivanov", 45.9); // s[1]=Student(" Petrov", 30.4); // s[2]=Student(" Sudorov", 55.6); //, //висновок for(k=0; k< 3; k++) cout< < s[k]; cout< < endl;
cout < < " Натиснiть будь-яку клавiшу! "; while(! kbhit());
}
Рис. 1. Діаграма класів і реалізація завдання 12.5. Індивідуальні завдання Завдання 1. Створити об'єкт-контейнер відповідно до варіанта завдання й заповнити його даними, тип яких визначається варіантом завдання. 2. Переглянути контейнер. 3. Змінити контейнер, видаливши з нього одні елементи й замінивши інших. 4. Переглянути контейнер, використовуючи для доступу до його елементів Ітератори. 5. Створити другий контейнер цього ж класу й заповнити його даними того ж типу, що й перший контейнер. 6. Змінити перший контейнер, видаливши з нього n елементів після заданого й додавши потім у нього всі елементи із другого контейнера. 7. Переглянути перший і другий контейнери. Завдання 2. Виконати те ж саме, але для даних користувацького типу. Зауваження: 1. При створенні контейнерів у програмі № 2 об'єкти завантажувати з потоку. 2. Для вставки й видалення елементів контейнера в програмі № 2 використати відповідні операції, визначені в класі контейнера. 3. Для вводу-виводу об'єктів користувацького класу варто перевантажити операції “> > ” і “< < ”. 4. При переміщенні елементів асоціативного контейнера в неасоціативний переміщаються тільки дані (ключі не переміщаються). І навпаки, при переміщенні елементів неасоціативного контейнера в асоціативний повинен бути сформований ключ.
|