Const M = 3; N = 4; Var A:array[1..M,1..N] of integer; i,j,k:integer; Begin Randomize; WriteLn('Исходный массив:'); For i:= 1 to M do Begin For j:= 1 to N do Begin A[i,j]:=random(71)-30; Write(A[i,j]:3,' ') End; WriteLn; End; Write('Номер столбца: '); For j:= 1 to N do Write(j:3,' '); WriteLn; Write('Искомое кол-во:'); For j:= 1 to N do Begin k:=0; For i:= 1 to M do if A[i,j]>0 then k:=k+1; Write(k:3,' '); End; End.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
type Mas=array[,] of integer;
procedure GetMas(s:string; var a:Mas); begin Writeln('*** Массив ',s,' ***'); var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('Вводите элементы массива'); a:=ReadMatrInteger(n,m) end;
function SumDiag(a:Mas):integer; begin Result:=0; for var i:=0 to Min(a.RowCount,a.ColCount)-1 do Result+=a[i,i] end;
begin var a,b,c:Mas; GetMas('A',a); GetMas('B',b); GetMas('C',c); Writeln('Общая сумма элементов главных диагоналей равна ', SumDiag(a)+SumDiag(b)+SumDiag(c)) end.
Пример *** Массив A *** Количество строк в массиве: 3 Количество столбцов в массиве: 4 Вводите элементы массива -33 -50 34 -41 -31 10 37 31 32 -49 -32 -27 *** Массив B *** Количество строк в массиве: 2 Количество столбцов в массиве: 2 Вводите элементы массива -22 35 0 11 *** Массив C *** Количество строк в массиве: 3 Количество столбцов в массиве: 2 Вводите элементы массива 23 38 17 -8 16 -1 Общая сумма элементов главных диагоналей равна -51
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
За на відкритя інтернет клубу дуже на завтра треба