Упрограмі № 1 виконати наступне: 1. створити об'єкт-контейнер відповідно до варіанта завдання й заповнити його даними, тип яких визначається варіантом завдання. 2. переглянути контейнер. 3. змінити контейнер, видаливши з нього одні елементи й замінивши іншими. 4. переглянути контейнер, використовуючи для доступу до його елементів ітератори. 5. створити другий контейнер цього ж класу й заповнити його даними того ж типу, що й перший контейнер. 6. змінити перший контейнер, видаливши з нього n елементів після заданого й додавши потім у нього всі елементи із другого контейнера. 7. переглянути перший і другий контейнери. эта должна быть по list, и значениями int.
Ответы на вопрос:
#include "stdafx.h"#include< iostream> #include< time.h> #include< list> using namespace std;
const int n = 15; list< int> a; list< int> c; void print(list< int> x){ while(! x.{ cout< < x.front()< < " "; x.pop_front(); }}void make(list< int> & x){
for (int i = 0; i < n; i++){ x.push_back(rand()%29+1); }}
void main(){
srand(time(null)); make(a); list< int> tmp = a; print(a); _01: cout< < "\nwrite digit to change: "; int digit(0); cin> > digit; a.remove(digit); //удаляю введене число int newdigit = digit+15; // збільшую нове число, щоб не повторилось случайно з видаленим int size = n - a.size(); //узнаю скільки чисел удалило for (int i = 0; i < size; i++) a.push_back(rand()%newdigit+1); //добавляю нові значення замість видалених if (size! =0){
cout< < "ok\nafter change\n"; print(a); cout< < endl; } else {cout< < "what you want to change? ? digit not "; goto _01; }
int n(0),k(0); cout< < "delete n element from k position write n: "; cin> > n; cout< < "write k "; cin> > k; int cout1(0); list< int> : : iterator m; m = a.begin(); for (int i = 0; i < k; i++) *m++; for (int i = 0; i < n; i++) {
a.remove(*m++); cout1++; //бо так нада } int how = n - a.size() - n; for (int i = 0; i< how; i++) a.push_back(rand()%29+1); print(a); list< int> b = a; int sizeb = b.size(); cout< < "\nafter concat c = \n"; for (int i = 0 ; i < n; i++) {c.push_back(tmp.front()++); tmp.pop_front(); } for (int i = 0 ; i < sizeb; i++) {c.push_back(b.front()++); b.pop_front(); } cout< < endl; print(c);
cout< < "\n"; system("pause"); }
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
cimuzoro02.04.2022 19:24
-
udovilyudmila25.06.2021 19:50
-
9Kira914.02.2023 17:49
-
753455824.05.2023 12:53
-
aknurrakhmanber11.04.2023 00:12
-
Даня32455603.09.2022 12:56
-
Mapгарuтa18.08.2022 16:21
-
ionufrijchuk25.10.2022 14:54
-
kall401.04.2020 16:32
-
Nalalisa19.02.2021 19:11
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.