|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.03.2018, 11:59 | #1 |
Новичок
Джуниор
Регистрация: 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. |
24.03.2018, 12:06 | #2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
чему равно i+(j+k-1) div n при i=n j=1 k=n*n/2 и n четное(т.е. k mod n=0)
программа — запись алгоритма на языке понятном транслятору
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
индекс находился вне границ массива | 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 |