|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.03.2020, 20:45 | #1 |
Пользователь
Регистрация: 12.03.2020
Сообщений: 12
|
Помогите пожалуйста доработать код
#include <iostream>
#include <ctime> #include <iomanip> //для форматирования вывода #include <cstdlib> using namespace std; //инициирует массив int* initA(int n, int mn, int mx) { int* a = new int[n];//массив for (int i = 0; i < n; i++) a[i] = rand() % (mx - mn + 1) + mn;//заполняем массив return a; } //выводит массив void printA(int* a, int n) { for (int i = 0; i < n; i++) { cout << a[i] << " "; } cout << endl; } //вычисляет среднее арифметическое int srA(int* a, int n) { int s = 0;//сумма элементов for (int i = 0; i < n; i++) { s += a[i];//суммирует } return s;//среднее арифметическое } int* del_mas(int* a, int& n) { int n; cout << "Размер массива N="; cin >> n; srand((unsigned)time(0));//инициирует генератор сл.чисел int mn, mx; cout << "Интервал значений min max: "; cin >> mn >> mx; if (mn > mx) swap(mn, mx);//если неправильно поменяли int* a = initA(n, mn, mx);//создали массив cout << "Массив:\n"; printA(a, n);//вывели массив int med = srA(a, n);//среднее int nmed = 0;//к-во средних for (int i = 0; i < n; i++) if (a[i] == med)//нашли { for (int j = i; j < n - 1; j++) { a[j] = a[j + 1];//"сжали" массив } i--;//на то же место n--;//уменьшили размер nmed++;//к-во+1 } cout << "Среднее значение: " << med << " ,к-во: " << nmed << endl; cout << "Измененный массив:\n"; printA(a, n);//вывели массив delete[] a;//удалили массив system("pause"); } int** initB(int n, int m, int mn, int mx) { int** b = new int* [n];//массив под указателей строк for (int i = 0; i < n; i++) { b[i] = new int[m];//создали строку for (int j = 0; j < m; j++) b[i][j] = rand() % (mx - mn + 1) + mn;//заполнили строку } return b; } //выводит массив void printB(int** b, int n, int m) { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) cout << setw(3) << b[i][j]; cout << endl; } } int** add_mass(int** b, int& i, int j); { int n, m; cout << "Размеры массива N M: "; cin >> n >> m; srand((unsigned)time(0));//инициирует генератор случ.чисел int mn, mx; cout << "Интревал значений min max: "; cin >> mn >> mx; if (mn > mx) swap(mn, mx);//поменяли int** b = initB(n, m, mn, mx);//массив cout << "Массив:\n"; printB(b, n, m);//вывели for (int i = 0; i < n; i++) { int* c = new int[m + 1];//строка большего размера for (int j = 0; j < m; j++) c[j] = b[i][j];//скопировали старое c[m] = rand() % (mx - mn + 1) + mn;//последнее значение delete[] b[i];//удалили старую строку b[i] = c;//установили новую } m++;//длина строк увеличилась cout << "Измененный массив:\n"; printB(b, n, m);//вывели for (int i = 0; i < n; i++)//удаляем строки delete[] b[i]; delete[] b;//удалили массив указателей строк system("pause"); } int main() { int k; setlocale(LC_ALL, "rus"); srand(time(0)); int* mas; int** mas2; int q; int n = 10; cout << "С каким массивом работать (1 - одномерный, 2 - двумерный) "; cin >> q; if (q == 1) { do { cout << "1.Формирование массива\n"; cout << "2.Печать массива\n"; cout << "3.Удаление из массива\n"; cout << "4.Выход\n"; cin >> k; switch (k) { case 1: mas = initA(n, 10, 20); break; case 2: printA(mas, n); break; case 3: //del_mas(a, n); break; } } while (k != 4); } else { do { cout << "1.Формирование массива\n"; cout << "2.Печать массива\n"; cout << "3.Добавление в массив\n"; cout << "4.Выход\n"; cin >> k; switch (k) { case 1: mas2 = initB(n, 10, 10, 50); break; case 2: printB(mas2, n, 10); break; case 3: //add_mas(b, n, m); break; } } while (k != 4); } return 0; } |
16.03.2020, 21:20 | #2 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,551
|
Нормально. Помогите доработать неизвестно откуда взятый код, который неизвестно что должен делать и что он делает не так.
|
21.03.2020, 00:36 | #3 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
Человек только учится. Например, в новых темах он уже научился оформлять код с помощью тега CODE
E-Mail: arigato.freelance@gmail.com
|
23.03.2020, 09:43 | #4 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,551
|
Следующим шагом будет - правильно сформулировать вопрос. Правда, сначала для самого себя: а чего я, собственно, хочу?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пожалуйста, помогите доработать программу на С! | Вулф | Общие вопросы C/C++ | 7 | 05.07.2017 12:45 |
Помогите доработать программу | jipumex@cartelera. | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 05.10.2016 20:49 |
Помогите доработать код C++ | max.sokol | Помощь студентам | 5 | 18.12.2015 19:18 |
Помогите доработать чат | BakX | Работа с сетью в Delphi | 8 | 06.10.2008 19:30 |
Помогите Пожалуйста доработать тест!!! | dimi_87 | Помощь студентам | 4 | 23.07.2008 02:07 |