Fb
Fbmvika

почему программа в паскаль работает неправильно?

program yy;
uses crt;
const n=2; m=3;
var a:array[1..n,1..m] of integer;
b:array[1..n*m] of integer;
i,j:integer;
begin
clrscr;
writeln('pochatkova matriza:');
randomize;
сформувати одномірний масив В, що складаєтьсся з від'ємних елементів масиву А.

for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(50)-24;
write(' ',a[i,j]:3);
end;
writeln;
end;
for i:=1 to n do
begin
b:=0;
for j:=1 to m do if a[i,j]<0 then b:=a[i,j];
end;
writeln('odnomirnui masuv:');
for i:=1 to n*m do write(' ',b:3);
readln;
end.

Ленка Швалёва
Ленка Швалёва

Наверно, потому что она неправильно написана.

Не знаю, что этой программе полагается делать, без каких-либо вменяемых комментариев понять это несколько затруднительно, но работает она следующим образом.

Двумерный массив a заполняется некими случайными числами.

Затем по первому индексу этого массива пробегает переменная i, по второму - переменная j, и последний найденный во время пробега по второму индексу отрицательный элемент a[i,j] засовывается в b[ i ].

Может, так оно и должно быть, а может, это надо переписать по-другому, кто знает.. .

program yy;

uses crt;

const n = 2; m = 3;

var a : array[1..n,1..m] of integer;
b : array[1..n*m] of integer;
i,j,k : integer;

begin

clrscr;

writeln('pochatkova matriza:');
randomize;

{ инициализируем массив А. }
for i:=1 to n
do begin
for j:=1 to m
do begin
a[i,j]:=random(50)-24;
write(' ',a[i,j]:3);
end;
writeln;
end;

{ обнуляем массив b }
for i:=1 to m*n
do b[ i ] := 0;

{ заносим в b отрицательные элементы из A }
k := 1;
for i:=1 to n
do for j := 1 to m
do if a[i,j] < 0 then begin b[k] := a[i,j]; inc(k); end;

{ печатаем массив b }
writeln('odnomirnui masuv:');
for i:=1 to n*m
do write(' ',b[ i ]:3);

readln;

end.

Похожие вопросы
программа на паскале
Программа на паскале. Почему не работает функция ABC
Программа на паскале.
подскажите что неправильно в коде на паскаль
почему программа в паскаль работает неправильно
Не работает программа в паскале 5
Что тут неправильно? (ПАСКАЛЬ)
почему эта программа в паскаль АВС работает, в во фри паскаль - нет?
Неправильно работает программа в Pascal ABC
Неправильно работает программа.