Program Zadacha_12;
Uses Crt; Type mas=array[1 .. 10,1 .. 10] of Integer; Var a:mas;
i,k,n:Integer; NS:Boolean;
Procedure Vvod(n,k:Integer;Var a:mas);
Var i,j:Integer; Begin For i:=1 to n do For j:=1 to k do
a[i,j]:=Random(100); End;
Procedure Vivod(n,k:Integer;a:mas);
Var i,j:Integer; Begin For i:=1 to n do
Begin For j:=1 to k do Write(a[i,j]:5); WriteLn; End; End;
Procedure P_12(i,k:Integer;a:mas;Var NS:Boolean);
Var j,S:Integer; Begin S:=0; For j:=1 to k do If a[i,j] mod 2=0
Then S:=S+1; If S>0 Then NS:=True Else NS:=False; End;
Begin WriteLn('Введите количество строк и столбцов в массиве');
ReadLn(n,k); Vvod(n,k,a); WriteLn('Исходный массив:');Vivod(n,k,a);
WriteLn('Четные числа содержатся в строках:'); For i:=1 to n do Begin
P_12(i,k,a,NS); If NS Then Write(i:3); End; End.
Дан двумерный массив, содержащий не более 10 строк и 10 столбцов. Составить новый массив, элементами которого являются суммы по строкам. Ввод, вывод массива и нахождение ответа оформить в виде подпрограмм.
program l1; uses crt;
type tabl=array[1..10,1..10]of integer;mas=array[1..10]of integer;
var a:tabl;b:mas;n,m:integer;
procedure vvod(k,l:integer;var c:tabl); var i,j:integer;
begin for i:=1 to k do for j:=1 to l do begin writeln('ввести a[',i,',',j,']');
readln(c[i,j]); end; end;
procedure vivod(k,l:integer;c:tabl);
var i,j:integer; begin for i:=1 to k do begin for j:=1 to l do write(c[i,j]:6);
writeln; end; end;
procedure poisk(k,l:integer;c:tabl;var x:mas);
var i,j,p:integer; begin for i:=1 to k do begin p:=0; for j:=1 to l do p:=p+c[i,j]; x[i]:=p; end; end;
procedure vivod1(k:integer;x:mas);
var i,j:integer; begin for i:=1 to k do write(x[i]:6); writeln; end; begin
writeln('ввести количество строк и столбцов'); readln(n,m); vvod(n,m,a);
writeln('исходный массив'); vivod(n,m,a); poisk(n,m,a,b); writeln('полученный массив'); vivod1(n,b); end.