Другие языки программирования и технологии

Матрица в паскале.

1.Сформировать матрицу вида

13331
21312
22122
21312
13331

2.Вычислить в этой матрице сумму четных элементов.
3.Вычислить количество четных элементов выше главной диагонали.
begin
var n := 5;
var a := new integer[n, n];
for var i := 0 to n - 1 do
for var j := 0 to n - 1 do
if (j = i) or (j = n - 1 - i) then a[i, j] := 1
else if (j >= i + 1) and (j <= n - 2 - i) then a[i, j] := 3
else if (j >= n - i) and (j <= n - 1) then if j > i then a[i, j] := 2
else begin if j < i then a[i, j] := 3 end
else a[i, j] := 2;
a.Println(2);

var sum := 0;
ForEach var m in a do if m.IsEven then sum += m;
Println('Сумма четных =',sum);

var chet:=0;
for var i := 0 to n - 2 do
for var j := i + 1 to n - 1 do
if a[i,j].IsEven then inc(chet);
Println('Колво четных =',chet);
end.
ОУ
Олег Уразаев
1 396
Лучший ответ
Олег Уразаев n может быть только нечетным 3,5,7,9 и т. д.
Денис Тарутин Красава Рахмет! _)
1. матрица - двумерный массив.
два цикла в помощь array a[n,m] of integer;
for i:=1 to n do
for j:=1 to m do
остальное сам...
2.
k:=0;
for i:=1 to 5 do
for j:=1 to 5 do
if a[i,j] mod 2 = 0 then k:=k+a[i,j];
3. аналогично, только с проверкой индексов
Ринат Галимов
Ринат Галимов
55 735

Похожие вопросы