#include <iostream> #include <stdlib.h> #include <stdio.h> #include <fstream> using namespace std; void fill_array(int** arr, const int N, const int M) { int count = 0; int sum = 0; int z; printf("1 - Cлучайный ввод. 2 - Ввод с клавиатуры\n"); back: scanf_s("%d", &z); if (z == 1) { for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { arr[i][j] = rand() % 10; //Заполнение массива числами по порядку } } } else if (z == 2) { for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { printf("Введите число!\n"); scanf_s("%d", &arr[i][j]);; //Заполнение массива числами по порядку } } } else { printf("Ошибка ввода повторите!\n"); goto back; } int sumMax = 0; for (int i = 0; i < N; i++) { int sum_row; sum_row = 0; for (int j = 0; j < M; j++) { sum_row += arr[i][j]; if (sum_row > sumMax) { sumMax = sum_row; } } cout << "сумма элементов строки " << i + 1 << "=" << sum_row << endl; } printf("Максимальная сумма строки = %d\n", sumMax); } /*КОНЕЦ ФУНКЦИИ ЗАПОЛНЕНИЯ*/ /*ФУНКЦИЯ ВЫВОДА ДВУМЕРНОГО МАССИВА НА ЭКРАН*/ void print_array(int** arr, const int N, const int M) { int z; printf("1 - Cохранить в файл. 2 - Вывести на экран\n"); back: scanf_s("%d", &z); if (z == 1) { string path = "savealab2.txt"; ofstream fout(path, ios::out); for (int i = 0; i < N; i++) { fout << "\n"; for (int j = 0; j < M; j++) { fout << arr[i][j] << ""; fout << ";"; } cout << endl; } printf("Файл сохранен\n"); } else if (z == 2) { for (int i = 0; i < N; i++) { printf("\n"); for (int j = 0; j < M; j++) { printf("\t"); printf("%d", arr[i][j]); } } } else { printf("Ошибка ввода повторите!\n"); goto back; } } /*КОНЕЦ ФУНКЦИИ ВЫВОДА ДВУМЕРНОГО МАССИВА НА ЭКРАН*/ int main() { setlocale(LC_ALL, "Russian"); int row = 0, col = 0; //Можно вводить с клавиатуры, для этого используйте cin /*ЗАДАЁМ ЧИСЛО ЯЧЕЕК ВО ВРЕМЯ РАБОТЫ ПРОГРАММЫ*/ cout << "input row: "; cin >> row; cout << "input col: "; cin >> col; /*ДАЁМ ПРОГРАММЕ ПАМЯТЬ*/ int** p = new int* [row]; //Создание строк for (int i = 0; i < row; i++) { p[i] = new int[col]; //Создание колонок для каждой строки } //================================= fill_array(p, row, col); //Обращение к функции заполнения двумерного массива print_array(p, row, col); //Обращение к функции вывода двумерного массива //================================= /*ОТБИРАЕМ У ПРОГРАММЫ ПАМЯТЬ*/ for (int i = 0; i < row; i++) { delete[]p[i]; //Отбор у программы выделенной под колонки память } delete[]p; //Отбор у программы выделенной под указательную переменную памяти cin.get(); } Код #include <iostream> #include <stdlib.h> #include <stdio.h> #include <fstream> using namespace std; void fill_array(int** arr, const int N, const int M) { int count = 0; int sum = 0; int z; printf("1 - Cлучайный ввод. 2 - Ввод с клавиатуры\n"); back: scanf_s("%d", &z); if (z == 1) { for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { arr[i][j] = rand() % 10; //Заполнение массива числами по порядку } } } else if (z == 2) { for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { printf("Введите число!\n"); scanf_s("%d", &arr[i][j]);; //Заполнение массива числами по порядку } } } else { printf("Ошибка ввода повторите!\n"); goto back; } int sumMax = 0; for (int i = 0; i < N; i++) { int sum_row; sum_row = 0; for (int j = 0; j < M; j++) { sum_row += arr[i][j]; if (sum_row > sumMax) { sumMax = sum_row; } } cout << "сумма элементов строки " << i + 1 << "=" << sum_row << endl; } printf("Максимальная сумма строки = %d\n", sumMax); } /*КОНЕЦ ФУНКЦИИ ЗАПОЛНЕНИЯ*/ /*ФУНКЦИЯ ВЫВОДА ДВУМЕРНОГО МАССИВА НА ЭКРАН*/ void print_array(int** arr, const int N, const int M) { int z; printf("1 - Cохранить в файл. 2 - Вывести на экран\n"); back: scanf_s("%d", &z); if (z == 1) { string path = "savealab2.txt"; ofstream fout(path, ios::out); for (int i = 0; i < N; i++) { fout << "\n"; for (int j = 0; j < M; j++) { fout << arr[i][j] << ""; fout << ";"; } cout << endl; } printf("Файл сохранен\n"); } else if (z == 2) { for (int i = 0; i < N; i++) { printf("\n"); for (int j = 0; j < M; j++) { printf("\t"); printf("%d", arr[i][j]); } } } else { printf("Ошибка ввода повторите!\n"); goto back; } } /*КОНЕЦ ФУНКЦИИ ВЫВОДА ДВУМЕРНОГО МАССИВА НА ЭКРАН*/ int main() { setlocale(LC_ALL, "Russian"); int row = 0, col = 0; //Можно вводить с клавиатуры, для этого используйте cin /*ЗАДАЁМ ЧИСЛО ЯЧЕЕК ВО ВРЕМЯ РАБОТЫ ПРОГРАММЫ*/ cout << "input row: "; cin >> row; cout << "input col: "; cin >> col; /*ДАЁМ ПРОГРАММЕ ПАМЯТЬ*/ int** p = new int* [row]; //Создание строк for (int i = 0; i < row; i++) { p[i] = new int[col]; //Создание колонок для каждой строки } //================================= fill_array(p, row, col); //Обращение к функции заполнения двумерного массива print_array(p, row, col); //Обращение к функции вывода двумерного массива //================================= /*ОТБИРАЕМ У ПРОГРАММЫ ПАМЯТЬ*/ for (int i = 0; i < row; i++) { delete[]p[i]; //Отбор у программы выделенной под колонки память } delete[]p; //Отбор у программы выделенной под указательную переменную памяти cin.get(); } Ну сумма найдена, а как теперь заменить хуй знает Нужно строку с максимальной суммой заменить этой суммой
EV1, надо было предупредить об этом. Ждал ответа, если честно. Закрой тему, раз уже задание неактуально.