Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
из 10 + паскаль.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
101.01 Кб
Скачать

9. Дан двумерный массив, содержащий не более 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.

  1. Похожая Дан двумерный массив, содержащий не более 10 строк и не более 10 столбцов. Вывести на экран номера только тех строк, в которых есть четные числа.

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.

11. Дан двумерный массив, содержащий не более 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.