PascalABC 1. Задан массив А(N). Получить из него массив В, состоящий из элементов массива...

0 голосов
50 просмотров

PascalABC
1. Задан массив А(N). Получить из него массив В, состоящий из элементов массива А, значения которых больше 0.
2. Задан двухмерный массив целых чисел A[N,M]. Найти строки, содержащие нулевые элементы. Вывести исходный массив и индексы найденных строк.


Информатика (12 баллов) | 50 просмотров
Дан 1 ответ
0 голосов

1.
var i,N,c: integer;

var a: array of integer;

var b: array of integer;

begin

c:=0;

readln(N);

Setlength(a,N);

setlength(b,N);

for i:=0 to a.Length-1 do

begin

readln(a[i]);

if a[i] >0 then

begin

b[c]:=a[i];

c:=c+1;

end;

end;

Setlength(b,c);

write(b);

end.

2.

var N,M: integer;

type a = array of array of integer;

var matr: a;


function CreateMatrix(N,M: integer): a;

begin

  SetLength(Result,N);

  for var i:=0 to N-1 do

    SetLength(Result[i],M);

end;


procedure FillMatrByRead(matr: a);

begin

  for var i:=0 to matr.Length-1 do

  for var j:=0 to matr[0].Length-1 do

    readln(matr[i,j]); 

end;


procedure WriteMatrix(matr: a);

begin

  for var i := 0 to matr.Length-1 do

  begin

    for var j := 0 to matr[0].Length-1 do

      write(matr[i,j]:3);

    writeln;

  end;

end;


procedure MatrixZero(matr: a);

begin

  for var i := 0 to matr.Length-1 do

  begin

    for var j := 0 to matr[0].Length-1 do

      if (matr[i,j] = 0) then

      write('matr','[',i,',',j,']');

    writeln;

  end; 

end;


begin

readln(N,M);

matr:= CreateMatrix(N,M);

FillMatrByRead(matr);

WriteMatrix(matr);

MatrixZero(matr);
end.

(3.6k баллов)