Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2018, 11:59   #1
KorLinor
Новичок
Джуниор
 
Регистрация: 24.03.2018
Сообщений: 1
По умолчанию Pascal. Индекс находился вне границ массива

Выдаёт ошибку в коде для сортировки двумерного массива, помогите исправить:

const
n=4;
var
a:array [1..n,1..n] of integer;
i,j,k,count:integer;
begin
writeln('Исходный массив:');
for i:=1 to n do
for j:=1 to n do begin
a[i,j]:=random(9)+1;
end;
for i:=1 to n do begin
for j:=1 to n do
write (a[i,j],' ');
writeln;
end;
begin
k:=n*n;
k:=k div 2;
while (k>0) do begin
for i:=1 to n do begin
for j:=1 to n do
if a[i+(j+k-1) div n,(j+k-1) mod n+1]<=n then
while (a[i,j]<a[i+(j+k-1) div n,(j+k-1) mod n+1]) do begin
count:=a[i,j];
a[i,j]:=a[i+(j+k-1) div n,(j+k-1) mod n+1];
a[i+(j+k-1) div n,(j+k-1) mod n+1]:=count;
end;
k:=k - 1;
end;
end;
end;
begin
writeln('Вот этот массив, только он не такой как в начале:');
for i:=1 to n do begin
for j:=1 to n do
write (a[i,j], ' ');
writeln;
end;
end;
end.

Последний раз редактировалось KorLinor; 24.03.2018 в 12:02.
KorLinor вне форума Ответить с цитированием
Старый 24.03.2018, 12:06   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

чему равно i+(j+k-1) div n при i=n j=1 k=n*n/2 и n четное(т.е. k mod n=0)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
индекс находился вне границ массива Vantus Паскаль, Turbo Pascal, PascalABC.NET 2 02.05.2017 19:21
Индекс находился вне границ массива Pikovaya_dama C# (си шарп) 2 28.11.2014 17:37
Ошибка времени выполнения: Индекс находился вне границ массива (pascal) dijetol Помощь студентам 2 10.04.2014 16:16
Индекс находился вне границ массива. banan4ik Помощь студентам 1 30.05.2013 02:25
[C#] Индекс находился вне границ массива JonMagon Помощь студентам 12 22.01.2012 23:06