Составить программу, записывающую все положительные элементы двумерного массива A в одномерный массив В, а отрицательные — в одномерный массив С. Вывести полученные результаты на экран. Используйте подпрограммы для решения каждой частной задачи — Pascal(Паскаль)

Program  L2Z3V1;
Uses CRT;
type mas=array [1..100] of real;
     matr=array [1..10,1..10] of real;
Procedure Vvod(var a:matr; var n,m:integer);
var i,j:integer;
begin
  Clrscr;
  Writeln('Vvedite razmer massiva');
  Write('Strok=');
  readln(n);
  Write('Stolbcov=');
  readln(m);
  Writeln('Vvedite znacheniya');
  For i:=1 to n do
  For j:=1 to m do
  read(a[i,j]);
  readln;
  clrscr;
  writeln('Matrica A:');
  for i:=1 to n do
   begin
    for j:=1 to m do
    write(a[i,j]:6:2);
    writeln;
   end;
 writeln;
end;
 
Procedure massiv(a:matr;n,m:byte; var b,c:mas; Var nb,nc:integer);
var i,j:byte;
begin
 nb:=0;
 nc:=0;
 For i:=1 to n do
 For j:=1 to m do
 If a[i,j]>0 then
  begin
   nb:=nb+1;
   b[nb]:=a[i,j];
  end
 Else
  If a[i,j]<0 then
  begin
   nc:=nc+1;
   c[nc]:=a[i,j];
  end;
end;
 
Procedure Vyvod (var m:mas; n:integer;c:char);
var i:integer;
begin
 writeln('Masiv',c);
 if n=0 then writeln('Elementov net!')
 else
 for i:=1 to n do write(m[i]:0:2,' ');
 writeln;
 writeln;
end;
var A:matr;
    B,C:mas;
    n,m,nb,nc:integer;
begin
Clrscr;
Vvod(A,n,m);
Massiv(A,n,m,B,C,nb,nc);
writeln('Polozitelnye elementy:');
Vyvod(B,nb,'B');
writeln('Otricatelnye elementy:');
Vyvod(C,nc,'C');
readln;
end.

Leave a Comment

31 + = 32