ТАШКЕНТСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦЫОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛ-ХОРАЗМИЙ
Группа: SWD203-L2 4-лабораторная работа По предмету: Программирование II Выполнил:Вахабов А. Приняла: Абдуллаева З. 4-Лабораторная работа
Заполните случайными n числами двустороннюю очередь и найдите произведение положительных элементов в этой двустороннюю очереди.
Решение: #include #include #include #include using namespace std;
int main(){
srand(time(0));
deque dd;
int n;
cout<<"n= "; cin>>n;
for(int i=0;i{
dd.push_back(rand()%21-10);
cout<}
cout<int p=1;
for(int i=0;i{
if(dd.at(i)>0)
{
p*=dd.at(i);
}
}
cout<<"Multiply posetive elements of deque is "<
return 0;}
3-ЛАБОРАТОРНАЯ РАБОТА. ПОСЛЕДОВАТЕЛЬНЫЕ КОНТЕЙНЕРЫ БИБЛИОТЕКИ STL Цель работы: Изучить последовательные контейнеры библиотеки stl и разработка алгоритмов выполнения задач с этими списками.
Поставленная задача: Создание элементов последовательного контейнера на языке Visual C++, разработка программы выполнения различных действий на нем.
Порядок работы:
Изучение теоретических данных лабораторной работы;
Разработка алгоритма заданной задачи;
Создание программы в среде программирования Visual C++;
Проверка результатов;
Подготовка и представление отчета для лабораторной работы.
Лабораторная работа №3. Библиотека STL. Контейнеры. Последовательные контейнеры array, vector, list, deque.
Задание 1. Выполнить следующее:
1. Создать объект-контейнер в соответствии с вариантом задания и заполнить его данными в указанном количестве и в интервале с помощью генератора случайных чисел , тип которых определяется вариантом задания.
2. Просмотреть контейнер.
3. Изменить контейнер, удалив из него (см. таб. ) элемент
4. Затем в конец добавит (см. таб.) элемент.
5. Просмотреть контейнер, используя для доступа к его элементам итераторы.
6. Изменить первый контейнер, удалив из него N-7 элементов до заданного N (если N>8) или N+3 элементов после заданного N.
7. Создать второй контейнер этого же класса (c размерностью 1-го после выполнения 6 пункта) и заполнить его данными того же типа, что и первый контейнер.
8. Сравнить оба контейнера.
9. Меньшее из них добавит к в конец большего.
10. Просмотрет оба контейнера.
Примечание. N – соответсвует порядковому номеру в таблице.
24
list
int
25
[0;100]
14-й
Минимальный
#include #include #include #include #include #include using namespace std;
int main(){
srand(time(NULL));
list l;
for (int i = 0; i < 25; i++) {
l.push_back(rand() % 100 + 1);
}
for (auto it : l)
cout << it << " ";
cout<auto IT = l.begin();
advance(IT, 13);
l.erase(IT);
int min = *l.end();
for (auto it : l)
if (min > it)
min = it;
l.push_back(min);
for (auto it : l)
cout << it << " ";
int n = 0;
cout << endl << "n= ";
cin >> n;
int M = 0;
if (n > 8) M = n - 7;
else M = n + 3;
auto K = l.begin();
auto H = l.begin();
advance(H, M);
l.erase(K, H);
list sec;
int sum2 = 0;
int sum1 = 0;
for (int i = 0; i < l.size(); i++) {
int randNum = rand() % 100+1;
sec.push_back(randNum);
sum2 += randNum;
}
for (auto it : l) {
sum1 += it;
}
cout << endl;
if (sum1 < sum2) {
for (auto it : l)
sec.push_back(it);
}
else {
for (auto it : sec)
l.push_back(it);
}
cout << endl << "first: " << endl;
for (auto it : l)
cout << it << " ";
cout << endl << "second: " << endl;
for (auto it : sec)
cout << it << " ";
return 0;
}