Program znanija_com; const n = 5; m = 5; rnd = 9; type tArray = array[1..n, 1..m] of integer; var arr : tArray; i,j, sum_ch, sum_nch, sum_diag, max_num, max_index_1, max_index_2 : integer; begin randomize; writeln ('Исходная матрица:'); for i:=1 to n do begin for j:=1 to m do begin arr[i,j] := random(rnd); if arr[i,j] mod 2 = 0 then sum_ch := sum_ch + 1 else sum_nch := sum_nch + 1; write(arr[i, j], ' '); end; writeln(); end; for i:=1 to n do sum_diag := sum_diag + arr[i,i]; max_num := arr[1,1]; max_index_1 := 1; max_index_2 := 1; for i:=1 to n do begin for j:=1 to m do begin if arr[i, j] > max_num then begin max_num := arr[i, j]; max_index_1 := i; max_index_2 := j; end; end; end; writeln('Колечество четных элементов равно ', sum_ch); writeln('Колечество нечетных элементов равно ', sum_nch); writeln('Сумма главной диаганили равна ', sum_diag); writeln('Максимальное число равно ', max_num, ' Находится [',max_index_1, ', ', max_index_2, ']'); readln(); end.
Можно чуть поправить вывод, чтобы когда vse =, не вылезали 1 i 3, 1 i 2, 2 i 3.
Да и вообще writeln'ов можно наставить и переменные назвать покрасивше. но это уж вы сами, думаю, справитесь. В VAR у меня тоже есть лишние переменные, переделывал старый свой код наспех =)
const
n = 5;
m = 5;
rnd = 9;
type
tArray = array[1..n, 1..m] of integer;
var
arr : tArray;
i,j, sum_ch, sum_nch, sum_diag, max_num, max_index_1, max_index_2 : integer;
begin
randomize;
writeln ('Исходная матрица:');
for i:=1 to n do begin
for j:=1 to m do begin
arr[i,j] := random(rnd);
if arr[i,j] mod 2 = 0 then sum_ch := sum_ch + 1
else sum_nch := sum_nch + 1;
write(arr[i, j], ' ');
end;
writeln();
end;
for i:=1 to n do
sum_diag := sum_diag + arr[i,i];
max_num := arr[1,1];
max_index_1 := 1;
max_index_2 := 1;
for i:=1 to n do begin
for j:=1 to m do begin
if arr[i, j] > max_num then begin
max_num := arr[i, j];
max_index_1 := i;
max_index_2 := j;
end;
end;
end;
writeln('Колечество четных элементов равно ', sum_ch);
writeln('Колечество нечетных элементов равно ', sum_nch);
writeln('Сумма главной диаганили равна ', sum_diag);
writeln('Максимальное число равно ', max_num, ' Находится [',max_index_1, ', ', max_index_2, ']');
readln();
end.
USES CRT;
VAR m1,m2,n,n1,n2,n3,n4,n5,n6,s1,s2:LongInt;
BEGIN
ClrScr;
ReadLn(n);
m1:=n;
n1:=m1 div 100;
n2:=m1 mod 10;
n3:=(m1-n1*100-n2) div 10;
if n1=n2 then if n1=n3 then writeln('vse =');
if n1=n2 then writeln('1 i 3 =');
if n2=n3 then writeln('2 i 3 =');
if n1=n3 then writeln('1 i 2 =')
else writeln('<>');
END.
Проверяйте, что непонятно - спрашивайте.
Можно чуть поправить вывод, чтобы когда vse =, не вылезали 1 i 3, 1 i 2, 2 i 3.
Да и вообще writeln'ов можно наставить и переменные назвать покрасивше. но это уж вы сами, думаю, справитесь. В VAR у меня тоже есть лишние переменные, переделывал старый свой код наспех =)
Всего хорошего.