Заполните массив n ** m,где n=m,случайными целыми числами от 1 до 100.Вывести **...

0 голосов
89 просмотров

Заполните массив n на m,где n=m,случайными целыми числами от 1 до 100.Вывести на экран.Найти разницу сумм элементов диагоналей массива и вывести абсолютное значение на экран.(С++)


Информатика (15 баллов) | 89 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#include

#include

#include

using namespace std;

int main()

{

const int n = 5;

int a[n][n];

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

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

a[i][j] = rand()%100; // заполнение случайными целыми числами


cout

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

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

{ cout << a[i][j] << "\t";} // вывод массива на экран</p>

cout

int sum1=0;

int sum2=0;

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

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

{ if (i == j)

sum1 += a[i][i]; // сумма элементов главной диагонали

if (i == n - j - 1)

sum2 += a[i][j]; // сумма элементов побочной диагонали

}

cout

cout

cout <<"Raznost summ = " << abs(sum1-sum2) << endl; // выводим абсолютное значение разности сумм</p>

return 0;

}


(41.5k баллов)
0

У вас "рандомная" генерация дает одни и те же значения.

0

Добавьте #include

0

< ctime >

0

И строку srand(time(0));

0

Хотя, если это на одноразовое использование - сойдет.

0

А, точно, позабыл