Создайте типизированный файл из трёх записей. Каждая запись представляет собой двухмерный массив 3Х5 заполненный случайными числами из диапазона +-10(Random) Выведите на экран из файла все записи в форме матриц. Найдите сумму всех элементов, сумму отрицательных элементов и сумму положительных элементов для каждой матрицы и файла в целом — Pascal(Паскаль)

uses crt;
const n=3;
      m=5;
type matr=array[1..n,1..m] of integer;
var f:file of matr;
    a:matr;
    i,j,k:byte;
    sm,so,sp,ssm,sso,ssp:integer;
begin
clrscr;
randomize;
assign(f,'marix');
rewrite(f);
for k:=1 to n do
 begin
  for i:=1 to n do
  for j:=1 to m do
  a[i,j]:=random(21)-10;
  write(f,a);
 end;
reset(f);
writeln('Содержание файла:');
ssm:=0;sso:=0;
for k:=0 to filesize(f)-1 do
 begin
  read(f,a);
  sm:=0;so:=0;
  writeln('Матрица ',k+1);
  for i:=1 to n do
   begin
    for j:=1 to m do
     begin
      write(a[i,j]:4);
      sm:=sm+a[i,j];
      if a[i,j]<0 then so:=so+a[i,j];
     end;
    writeln;
   end;
  sp:=sm-so;
  writeln('Сумма=',sm,' сумма отрицательных=',so,' сумма положительных=',sp);
  ssm:=ssm+sm; sso:=sso+so;
  writeln;
 end;
close(f);
ssp:=ssm-sso;
writeln('Общая сумма=',ssm,' сумма отрицательных=',sso,' сумма положительных=',ssp);
readln
end.

Leave a Comment

+ 67 = 75