Возьмём упрощённую версию строки, состоящую из 15 единиц.
Проделав со строкой все операции можно заметить, что после каждого выполнения программы в строке 9 единиц заменяется на одну, значит после каждого выполнения программы становится на 8 единиц меньше. Будем вычитать из 84 "8", пока не останется >5 единиц, чтобы программа смогла работать.
Получается 84-72=12
Напишем 12 единиц и пропустим их через программу, получится
222111 (сначала первые три единицы заменяются на два, потом ещё раз и ещё раз, т.к. в строке находится 11111. 222 заменится на 1 не может, т.к. в строке больше не найдено "11111".
Возьмём упрощённую версию строки, состоящую из 15 единиц.
Проделав со строкой все операции можно заметить, что после каждого выполнения программы в строке 9 единиц заменяется на одну, значит после каждого выполнения программы становится на 8 единиц меньше. Будем вычитать из 84 "8", пока не останется >5 единиц, чтобы программа смогла работать.
Получается 84-72=12
Напишем 12 единиц и пропустим их через программу, получится
222111 (сначала первые три единицы заменяются на два, потом ещё раз и ещё раз, т.к. в строке находится 11111. 222 заменится на 1 не может, т.к. в строке больше не найдено "11111".
ответ: 222111
if M[a, 4+1-a] < M[min, min]
then min := M[a, 4+1-a]
- у тебя в матрице рандомные числа максимум до 10, ты назначаешь их в min и max, а потом эти min и max пытаешься использовать как индексы.
Заведи отдельные переменные для сохранения индексов, например imin и imax и пользуйся ими, например как-то так:
for a := 1 to 4 do
if M[a, 4+1-a] < M[imin, imin]
then begin
min := M[a, 4+1-a];
imin := a;
end
По поводу параметра цикла не уверен, возможно в Pascal.ABC есть какие-то особенности по сравнению с обычным паскалем. Нашел вот такое:
"Описание параметра цикла for в заголовке цикла соблюдает принцип локальности: переменная описывается в том месте, где она впервые понадобилась
begin
for i: integer := 1 to 9 do
write(i,' ');
// Здесь переменная i не доступна!
for var i := 9 downto 1 do // описание с автоопределением типа
write(i,' ');
end."