Предмет: Информатика, автор: azimgames1106

ПОМОГИТЕ СРОЧНО С ИНФОРМАТИКОЙ, ЯЗЫК С++ ДАЮ50 БАЛЛОВ
(Условие) У згенерованому випадковим чином двовимірному масиві a(10x10)
(a[10][10]) з цілих чисел ([-20*N, 30*N] - N - номер за списком) виконати дії:

Завдання 1.У матриці знайти суму парних елементів, що лежать вище головної
діагоналі. Якщо вона ділиться на 3, обнулити побічну діагональ.
Завдання 2.Знайти добутки діагоналей квадратної матриці. Відсортувати перший рядок за зростанням.

Ответы

Автор ответа: leprekon882
0

#include <iostream>

#include <random>

using namespace std;

const int N = 10;

int main()

{

// Создаем двухмерный массив со случайными целыми числами

int a[N][N];

mt19937 rnd(time(nullptr));

uniform_int_distribution<int> dist(-20 * N, 30 * N);

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

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

a[i][j] = dist(rnd);

// Решаем задачу 1

int sum = 0;

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

for (int j = i + 1; j < N; j++)

if (a[i][j] % 2 == 0)

sum += a[i][j];

if (sum % 3 == 0)

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

a[i][N - i - 1] = 0;

// Решаем задачу 2

int main_diag_prod = 1, off_diag_prod = 1;

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

{

main_diag_prod *= a[i][i];

off_diag_prod *= a[i][N - i - 1];

}

for (int i = 0; i < N - 1; i++)

for (int j = i + 1; j < N; j++)

if (a[i][j] > a[i + 1][j])

swap(a[i][j], a[i + 1][j]);

// Выводим матрицу и результаты вычислений на экран

cout << "Matrix:" << endl;

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

{

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

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

cout << endl;

}

cout << "Main diagonal product: " << main_diag_prod << endl;

cout << "Off diagonal product: " << off_diag_prod << endl;

return 0;

}

В этом коде используется генератор случайных чисел `mt19937` из заголовочного файла `random`, который инициализируется текущим временем, а также равномерное распределение целых чисел `uniform_int_

Похожие вопросы
Предмет: Математика, автор: lidiakotkova3
Предмет: Математика, автор: fomchenkovaarinaaa
Предмет: Другие предметы, автор: dianaibykenova39