[паскаль] Дана матрица размерности N на M. Положительные элементы матрицы переписать

[паскаль] Дана матрица размерности N на M. Положительные элементы матрицы переписать подряд в одномерный массив В Помогите плиз

написал это но не работает !!!!!

program nt;
var a: array[1..4,1..4] of integer;
b: array[1..4] of integer;
m,n,i,j,t: integer;
begin
write('vvedite kol-vo strok ');
readln(n);
write('vvedite kol-vo stolbsov ');
readln(m);
for i:=1 to n do
for j:=1 to m do
begin
write('a[',i,',',j,'] =');
readln(a[i,j]);
end;
for i:=0 to n-1 do
begin
for j:=0 to m-1 do
begin a[i,j]:=Random(30)-10;
write(a[i,j],' ');
if a[i,j]gt;=0 then begin
Write('Massive b = ');
write(b[i],' ');
end
end.

Задать свой вопрос
Danil Gonymar
for i:=0 to n-1 do begin for j:=0 to m-1 do begin a[i,j]:=Random(30)-10; вы в описании массива а произнесли,что он размерами [1..4,1..4]; но из этих строк видно, что будет воззвание к элементу a[0,0], что будет выходом за пределы массива
Виолетта Свиринская
да и вообщем здесь begin-ов больше, чем end-ов
Кабанюк Лиза
Еще бы ЭТО работало! Сначала Вы наполняете массив а значениями, введенными с клавиатуры. А потом перетираете их случайными числами (к тому же, сместив индексы на -1, что вызовет ошибку) и циклически пишете в массив b, непрерывно перетирая имеющиеся там значения. В целом - полный бред.
1 ответ
Program aaa;
var
A:array[1..1000,1..1000] of longint;
B:array[1..1000000] of longint;
count,m,n,i,j:longint;
begin
count:=0;
writeln('введите размерности массива:');
readln(m,n);
writeln('введите массив построчно:');
for i:=1 to m do
for j:=1 to n do 
read(A[i,j]);
for i:=1 to m do
for j:=1 to n do 
if A[i,j]gt;0 then 
  begin   
   inc(count);   
   B[count]:=A[i,j] 
  end;
end.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт