Загрузка...

Как заменить строку максимальной суммой?

Тема в разделе C/C++ создана пользователем EV1 27 фев 2020. 232 просмотра

Загрузка...
  1. EV1
    EV1 Автор темы 27 фев 2020 Дизайн - zelenka.guru/threads/227119/ 796 5 июл 2017
    Код

    #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();
    }
    Ну сумма найдена, а как теперь заменить хуй знает :despair:
    Нужно строку с максимальной суммой заменить этой суммой
     
  2. Fender_inactive2697143
    Отпиши в лс
     
  3. CyberSlammer
     
  4. EV1
    EV1 Автор темы 4 мар 2020 Дизайн - zelenka.guru/threads/227119/ 796 5 июл 2017
    кривой хайд, да и не актуально уже
     
  5. Fender_inactive2697143
    EV1, а я же говорил, что нужно было мне отписать. Увы, ты упустил эту возможность
     
  6. EV1
    EV1 Автор темы 5 мар 2020 Дизайн - zelenka.guru/threads/227119/ 796 5 июл 2017
    я сам сделал)
     
  7. Fender_inactive2697143
    EV1, надо было предупредить об этом. Ждал ответа, если честно. Закрой тему, раз уже задание неактуально.
     
Top