Помощь - Поиск - Пользователи - Календарь
Полная версия: Вставка строки в массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Иван-
Вставить первую строку после строки, в которой находится первый встреченный максимальный элемент.
-Иван-
Помогите, пожалуйста!!
Tan
Ну можно было бы проще, посмотри что у меня вышло, то ли, что тебе надо :
uses crt;
Const M = 5;
N = 5;
var ms : array [1..N,1..M] of integer;
max,i,j,k : integer;
begin
Clrscr;
randomize;
for i:=1 to N do
begin
writeln;
for j:=1 to M do
begin
ms[i,j]:=random(10);
write (ms[i,j]:2);
end;
end;
max:=ms[1,1];
for i:=1 to N do
for j:=1 to M do if ms[i,j] >= max then max:=ms[i,j];
writeln;
writeln ('MAX ',max);
for i:=1 to N do
for j:=1 to M do if ms[i,j] = max then begin for k:=1 to M do ms[i + 1,k]:=ms[1,k]; break; end;
for i:=1 to N do
begin
writeln;
for j:=1 to M do write (ms[i,j]:2);
end;
klem4
Tan, ты хотябы программу свою запускал ? Если да, она хотя бы раз отработала без ошибки ? Выход за границы массива при любом раскладе ...

я тебя предупреждал ? предупреждал. Вот теперь не обижайся, предупреждение + 1, в следующий раз понижу рейтинг.

Я догадываюсь в чем проблема. Поставь первой строчкой программы {$R+}. Видимо в опциях комипялатора отключено у тебя, в связи с этим амнистия, снимаю предупреждение.

Но программа всеравно делает не то что нужно в задании.
volvo
Цитата
Видимо в опциях комипялатора отключено у тебя, в связи с этим амнистия
Логику амнистии можно объяснить? То, что программа вылетает за пределы массива, означает только одно - программа неверна. Соответственно, результаты ее работы непредсказуемы. А уж то, что у предлагающего решение отключен {$R}, при тестировании (если тесстирование вообще производилось) - это вообще верх неприличия, и поводом для амнистии служить никак не может...
Tan
Полностью согласен с volvo, но я тестил, наверно недовыделил, но это не суть, сам виноват что не так прочитал задание и не поставил ограничение в массиве.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.