У програмі № 1 виконати наступне: 1. Створити об'єкт-контейнер відповідно до варіанта завдання й заповнити його даними, тип яких визначається варіантом
5-9 класс
|
завдання. 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.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");
}
Другие вопросы из категории
Читайте также
А) буфер обміну MS Office вміщує лише останній об'єкт
Б) буфер обміну MS Office вміщує всі скопійовані до нього об'єкти
В) очищується лише буфер обміну MS Office, а останній об'єкт залишається в буфері обміну операційної системи (ОС)
Г) очищується і буфер обміну MS Office, і буфер обміну ОС
або на на інший обєкт, або на елементи цього обекта
3. Знайдіть помилки у наведених фрагментах програми, запишіть фрагмент правильно, пояснивши суть помилки:
а) x:=1; a:=81;
for i:=1 downto 10 do
begin
x:=x*i;
a:=a+2*i;
end;
б) х:=1; y:=1;
repeat
y:=y*x+2;
x:=x-2
until x-12;
4. Визначте значення всіх змінних у результаті їх виконання.
а) x:=0; y:=1;
while y<4 do
begin
x:=x+y;
y:=y+1
end;
б) x:=0; i:=1;
repeat
i:=i+1;
x:=x+1/i;
until i>6;
5. Розробіть програму, яка виводитиме на екран значення квадратів та кубів натуральних чисел від 1 до n, де n>1 – натуральне число, значення якого задає користувач.
6. Розробіть програму, яка визначатиме суму парних чисел від 1 до 30.
размещения изображения при видеопамяти для размещения изображения при разрешающей способности монитора 640*480
2.Видеопамять компьютера имеет обьем 512 килобайт.Размер изображения 320*240. Сколько странниц экрана может одновременно разместиться в видеопамяь при палитре из 256 цветов