Untitled

 avatar
unknown
c_cpp
2 years ago
2.2 kB
17
Indexable
#include <iostream>
#include <windows.h>
using namespace std;

/* Розробити програму для знаходження суми максимального і мінімального з чисел,
що стоять нижче побічної діагоналі. Якщо ця сума кратна 3, обнулити головну діагональ. */

int main() {
    SetConsoleOutputCP(CP_UTF8);
    //create
    int size = 0, max = 0, min = 0, sum = 0;
    cout << "Введіть розмір квадратичної матриці: " << endl;
    cin >> size;
    int **matrix = new int* [size];
    srand(time(NULL));
    for (int n = 0; n < size; n++)
    {
        matrix[n] = new int [size];
    }
    //заполнение какими-то данными
    for (int n = 0; n < size; n++)
    {
        for (int m = 0; m < size; m++)
        {
            matrix[n][m] = rand() % 40-20;
        }
    }
    //вывод
    cout << "Сгенерована матриця:" << endl;
    for (int n = 0; n < size; n++)
    {
        for (int m = 0; m < size; m++)
        {
            cout << matrix[n][m] << "\t";
        }
        cout << endl;
    }

    max = matrix[0][size-1];
    min = matrix[0][size-1];
    for(int n = 0; n < size; n++)
    {
        for(int m = 0; m < size; m ++)
        {
            if(n + m == size - 1)
            {
                if(matrix[n][m] > max)
                    max = matrix[n][m];
                if(matrix[n][m] < min)
                    min = matrix[n][m];
            }
        }
    }

    for (int n = 0; n < size; n++)
    {
        for (int m = size - m; m < size; m++)
        {
            if (n + m + 1 > size) {  //проверка на то что эл лежит ниже побочной диагонали
                sum += matrix[n][m];
            }
        }
    }
    cout << "Сума максимального і мінімального з чисел, що стоять нижче побічної діагоналі: " << sum << endl;




    //delete
    for (int n = 0; n < size; n++)
    {
        delete [] matrix [n];
    }

    delete [] matrix;
}
Editor is loading...