1. Дана квадратичная матрица А, состоящая из 49 элементов. Матрица заполняется случайным образом элементами из диапазона [-10;25]. Посчитать сумму элементов на главной и побочной диагоналях. Найти максимальный элемент над главной диагональю и минимальный элемент под побочной диагональю.
2. Заполнить квадратичную матрицу из 36 элементов по следующую правилу
6 1 1 1 1 1
0 6 1 1 1 1
0 0 6 1 1 1
0 0 0 6 1 1
0 0 0 0 6 1
0 0 0 0 0 6
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),10,99); a.Println;
a:=a.Reverse.ToArray; a.Println
end.
Тестовое решение:
n= 15
33 91 99 60 56 92 99 23 33 25 62 27 42 27 11
11 27 42 27 62 25 33 23 99 92 56 60 99 91 33
2. Школьный вариант
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016
const
n=15;
var
a:array[1..n] of integer;
i,t:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=Random(90)+10;
Write(a[i],' ')
end;
Writeln;
for i:=1 to n div 2 do begin
t:=a[i]; a[i]:=a[n-i+1]; a[n-i+1]:=t
end;
for i:=1 to n do Write(a[i],' ')
end.
int cnt_min=0; int cnt_max=0;
for(int i=0; i<x; i++) cin >> d;
int d_max = digits[0];
for(int i=0; i<x; i++) { if(d_max < digit[i]) d_max = digit[i];}
int d_min = digits[0];
for(int i=0; i<x; i++) { if(d_min > digit[i]) d_min = digit[i];}
for(int i=0; i<x; i++) { if(d_max < digit[i]) d_max = digit[i];}
for(int i=0; i<x; i++) { if(d_max == digit[i]) cnt_max++;}
for(int i=0; i<x; i++) { if(d_min == digit[i]) cnt_min++;}
cout << "min= " << cnt_min << " max= " << cnt_max << endl;
вторая задача - подумай сам, она почти аналогичная