Форум программистов, компьютерный форум CyberForum.ru

Работа з контейнерами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найдите наименьший и наибольший элементы и подсчитайте их полусумму http://www.cyberforum.ru/cpp-beginners/thread903288.html
Найдите наименьший и наибольший элементы и подсчитайте их полусумму. Из элементов побочной диагонали сформируйте одномерный массив и отсортируйте его по убыванию методом простых вставок. Выведите на экран исходную матрицу, рассчитанные значения (след матрицы, наименьший и наибольший элементы, их полусумму) и отсортированный массив. Способ сортировки должен быть реализован в виде функции.
C++ Отсортировать по возрастанию отрицательные элементы массива методом выбора Дан целочисленный массив A(n) с элементами, сгенерированными случайными числами в диапазоне (-20, 20). Требуется.Отсортировать по возрастанию отрицательные элементы массива методом выбора. http://www.cyberforum.ru/cpp-beginners/thread903272.html
C++ задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных
задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных компонентов вектора С, а четные элементы вектора D является дробная часть парных компонентов вектора С=-O=-O=-O=-O=-O
C++ Дан линейный массив А. Составьте программу замены элементов с нечетными номерами на их квадраты
Дан линейный массив А. Составьте программу замены элементов с нечетными номерами на их квадраты
C++ Удаление списка указателей http://www.cyberforum.ru/cpp-beginners/thread903249.html
Здорова! Есть задачка: Определите список указателей, который уничтожает объекты, адресуемые этими указателями, во время уничтожения самого списка или при удалении элемента из списка операцией remove. От как бы решение написал, но чото со списка элемент удаляется, а сам объект не уничтожается? Или так оно и должно быть? #include <iostream> using std::cout; using std::endl; #include...
C++ Не могу собрать в едино (найти среднее арифметическое делителей числа N) Как найти среднее арифметическое делителей числа N. N должно вводиться с клавы. Для среднего арифметического#include<iostream> using namespace std; int main() { float A; float sr=0.0; for(int i=0;i<10;i++) sr=sr+A; sr=sr/10; cout<<sr<<endl; подробнее

Показать сообщение отдельно
Kinroom
1 / 1 / 0
Регистрация: 13.12.2012
Сообщений: 99

Работа з контейнерами - C++

16.06.2013, 20:36. Просмотров 322. Ответов 1
Метки (Все метки)

Помогите изменить эту программу так,чтобы контейнеры хранили данные пользовательского типа(остальное все тоже самое)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#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");
}
Добавлено через 7 часов 6 минут
Ну или подскажите как изменить)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru