Что не так с этой программой? паскаль пишет "ошибка времени выполнения: индекс находился вне границ массива." и "параметр цикла for в pascalabc.net должен описываться в заголовке цикла" program massiv; var m: array [1..4, 1..4] of integer; a, b, min, max: integer; begin writeln('исходная матрица: '); for a : = 1 to 4 do begin for b : = 1 to 4 do begin m[a, b] : = random(10); write(m[a, b]: 4) end; writeln end; min : = 10; max : = 0; for a : = 1 to 4 do if m[a, 4+1-a] < m[min, min] then min : = m[a, 4+1-a] else if m[a, 4+1-a] > m[max, max] then max : = m[a, 4+1-a]; writeln('мин. эл-т побоч. диаг. матрицы: m[', min: 2, ', ', min: 2, '] = ', m[min, min]: 3); writeln('макс. эл-т побоч. диаг. матрицы: m[', max: 2, ', ', max: 2, '] = ', m[max, max]: 3); a : = m[min, min]; m[min, min] : = m[max, max]; m[max, max] : = a; writeln('результат: '); for a : = 1 to 4 do begin for b : = 1 to 4 do write(m[a, b]: 4); writeln end; readln end.
Ответы на вопрос:
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."
Информационные модели представляют объекты и процессы в образной или знаковой форме
ответ: информационные модели
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
dashak2002214.09.2022 07:36
-
ilmir12345678921.04.2023 13:10
-
lilianchic1403.03.2020 01:16
-
Oho929.04.2020 03:32
-
ЮлияYli12.07.2020 04:22
-
proovdnik09.10.2020 09:53
-
1234567829805.06.2021 22:17
-
kurtenokalina217.01.2022 16:36
-
misterfarhat1127.03.2022 13:55
-
Trolololo0907.03.2020 17:02
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.