В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Zeus029
Zeus029
04.01.2023 19:13 •  Информатика

Упрограмі № 1 виконати наступне: 1. створити об'єкт-контейнер відповідно до варіанта завдання й заповнити його даними, тип яких визначається варіантом завдання. 2. переглянути контейнер. 3. змінити контейнер, видаливши з нього одні елементи й замінивши іншими. 4. переглянути контейнер, використовуючи для доступу до його елементів ітератори. 5. створити другий контейнер цього ж класу й заповнити його даними того ж типу, що й перший контейнер. 6. змінити перший контейнер, видаливши з нього n елементів після заданого й додавши потім у нього всі елементи із другого контейнера. 7. переглянути перший і другий контейнери. эта должна быть по list, и значениями int.

Показать ответ
Ответ:
faiarina2016
faiarina2016
16.06.2020 06:32

 

#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.empty()){

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 exist!!"; 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");
}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота