• C ++ Напишите программу, которая выводит на экран
    двухмерный массив размерностью NхN, заполненный
    случайными числами от 0 до 9. После вывода массива
    выводится максимальное значение из всех ячеек главной
    диагонали и минимальное значение из всех ячеек побочной
    диагонали, а после этого сумма всех ячеек главной и побочной
    диагоналей. Рекомендуемый вид экрана приведен ниже.

    -> Enter n: 3
    4 2 6
    5 4 1
    9 7 6
    Main diag MAX: 6
    Sub diag MIN: 4
    Sum main and sub: 29

Ответы 1

  • #include <iostream>

    #include <time.h>

    #include <cstdlib>

    using namespace std;

    int main() {

    int n, s = 0, max = 0, min = 9;

    srand(time(NULL));

     

    do {

     cout << "Input size of matrix: n = ";

     cin >> n;

     if (n < 0)  

     {

      cout << "Input error! n < 0. Please try again" << endl;

      continue;

     }

     else break;

    } while (true);

     

    int **matr = new int* [n];

    for(int i = 0; i < n; i++)

     matr[i] = new int [n];

     

    for (int i = 0; i < n; i++)  

    {

     for (int j = 0; j < n;j++)  

     {

      matr[i][j] = rand() % 10;

      cout << matr[i][j] << " ";

     }

     cout << endl;

    }

     

    for (int i = 0; i < n; i++)  

    {

     if (max < matr[i][i])

      max = matr[i][i];

     if (min > matr[i][n-i-1])

      min = matr[i][n-i-1];

     s += matr[i][i] + matr[i][n - i - 1];

    }

    if (n % 2 != 0)

     s -= matr[n / 2][n / 2];

    cout <<"Maximum number on the main diagonal: " << max << endl << "Minimum number on the secondary diagonal: " << min << endl << "Sum of numbers on the diagonals: " << s;

     

    return 0;

    }

    /* Редактор не сохраняет отступы зачастую, поэтому прикрепил .cpp файл с кодом */

    answer img
    • Автор:

      aryn28
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years