Лабораторная работа №2 на тему : «,,,,» Вариант №24 Кафедра: Программирование Тулкунов Рустам


Download 226.86 Kb.
Sana24.12.2022
Hajmi226.86 Kb.
#1055748
TuriЛабораторная работа
Bog'liq
Лаб раб2 прог


МИНИСТЕРСТВО ПО РАЗВИТИЮ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И КОММУНИКАЦИЙ РЕСПУБЛИКИ УЗБЕКИСТАН
ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ имени МУХАММАДА АЛЬ-ХОРЕЗМИ



ЛАБОРАТОРНАЯ РАБОТА №2 НА ТЕМУ :
«,,,,»
Вариант №24
Кафедра: Программирование
Выполнил: Тулкунов Рустам
Проверила: Ibragimova Kamila Axmedovna

Задание 1. Выполнить следующее:
1. Создать объект-контейнер в соответствии с вариантом задания и заполнить его данными в указанном количестве и в интервале с помощью генератора случайных чисел, тип которых определяется вариантом задания.
2. Просмотреть контейнер.
3. Изменить контейнер, удалив из него (см. таб.) элемент
4. Затем в конец добавит (см. таб.) элемент.
5. Просмотреть контейнер, используя для доступа к его элементам итераторы.
6. Изменить первый контейнер, удалив из него N-7 элементов до заданного N (если N>8) или N+3 элементов после заданного N.
7. Создать второй контейнер этого же класса (c размерностью 1-го после выполнения 6 пункта) и заполнить его данными того же типа, что и первый контейнер.
8. Сравнить оба контейнера.
9. Меньшее из них добавит к в конец большего.
10. Просмотреть оба контейнера.
#include
#include
#include //
#include
#include
using namespace std;

void liist(list g)


{
list::iterator it;
for (it = g.begin(); it != g.end(); it++)
cout << '\t' << *it;
cout << '\n';
}

int main()


{
setlocale(LC_ALL, "ru");
srand(time(0));
list list1;
list::iterator it = list1.begin();
int p = 14; // какой элемент нужно будет удалить
for (int i = 0; i < 26; ++i) {
list1.push_back(rand() % 101);
}
cout << "Начальный контейнер типа list: " << endl;
cout << "-------------------------------" << endl;
liist(list1);
cout << "-------------------------------" << endl;
cout << "Удаляем 14й элемент" << endl;
cout << "-------------------------------" << endl;
list::iterator deliter = list1.begin();
advance(deliter, 13); // передвигаемый итератор до 14 элемента
list1.erase(deliter);
liist(list1);
cout << "-------------------------------" << endl;
cout << "Добавляем минимальный элемент контейнер в конец самого контейнера" << endl;
cout << "-------------------------------" << endl;
cout << "Минимальный " << *min_element(list1.begin(), list1.end()) << endl;
list1.push_back(*min_element(list1.begin(), list1.end()));
liist(list1);
cout << "-------------------------------" << endl;
cout << "Удаляем до N-7 го элемента" << endl;
cout << "-------------------------------" << endl;
list::iterator range_begin = list1.begin();
list::iterator range_end = list1.begin();
advance(range_begin, 0);
advance(range_end, 26 - 7);
list1.erase(range_begin, range_end);
liist(list1);
cout << "-------------------------------" << endl;
cout << "Второй контейнер" << endl;
cout << "-------------------------------" << endl;
list list2;
for (int i = 0; i < 7; ++i) {
list2.push_back(rand() % 101);
}
liist(list2);
cout << "-------------------------------" << endl;
cout << "Сравниваем оба контейнера.Меньшее из них добавляем к в конец большего" << endl;
cout << "-------------------------------" << endl;
if (list1 > list2) {
cout << "контейнер1 > контейнер2" << endl;
list1.insert(list1.end(), list2.begin(), list2.end());
}
else {
cout << "контейнер2 > контейнер1" << endl;
list2.insert(list2.end(), list2.begin(), list1.end());
}
cout << "контейнер1 после проверки" << endl;
cout << "-------------------------------" << endl;
liist(list1);
cout << "-------------------------------" << endl;
cout << "контейнер2 после проверки" << endl;
cout << "-------------------------------" << endl;
liist(list2);
cout << "-------------------------------" << endl;
return 0;
}

Download 226.86 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling