Информатика, вопрос задал amshinski , 2 года назад

Помогите, пожалуйста, написать программу на паскале по заданию: сформировать двумерный массив B размером 4 x 4 (4 – количество строк; 4 – количество столбцов) с помощью генератора случайных чисел и вывести элементы массива на экран и в файл. Вычислить и вывести на экран и в файл строку матрицы B, содержащую максимальное количество отрицательных элементов (оформить вычисление количества отрицательных элементов в виде функции).
Сделал пока что первую часть, не знаю как дальше:
var ar:array[1..4, 1..4] of integer;
i, j:byte;
f:text;
begin
assign(f,'mas.txt');
rewrite(f);
randomize;
for i:=1 to 4 do
begin
for j:=1 to 4 do
begin
ar[i, j]:= random (200) - 100;
write (IntToStr(ar[i, j])+' ');
write (f, IntToStr(ar[i, j])+' ');
end;
writeln (f, ''); writeln ();
end;
close (f);
end.

Ответы на вопрос

Ответил fedrfedr
1

Ответ:

program ArrayCalc;

var

 ar: array[1..4, 1..4] of integer;

function Neg (Row: Integer): Integer;

var

 i: Integer;

begin

 Result := 0;

 for i := 1 to 4 do

   if ar [Row, i] <= 0 then

     inc (Result);

end;

var

 i, j, imax, n, nmax: byte;

 f: text;

begin

 assign(f, 'mas.txt');

 rewrite (f);

 randomize;

 for i := 1 to 4 do begin

   for j := 1 to 4 do begin

     ar[i, j] := random (200) - 100;

     write (IntToStr (ar [i, j]) :4);

     write (f, IntToStr (ar [i, j]) :4);

   end;

   writeln (f, '');

   writeln;

 end;

 close (f);

 imax := 1;

 nmax := 0;

 for i := 1 to 4 do begin

   n := Neg (i);

   if n > nmax then begin

     nmax := n;

     imax := i

   end;

 end;

 WriteLn;

 WriteLn ('Строка массива:');

 for j := 1 to 4 do

   Write (ar [imax, j] :4);

 ReadLn;

end.

Новые вопросы