![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 23.05.2010
Сообщений: 7
|
![]()
Мне нужно сделать массив из n элементов для которого необходим ограничитель который не позволит индексу i выйти за пределы n.Каким должно быть его значение?
Я сделала программу...а как ограничитель поставить? uses crt; type massiv=array [1..5000] of integer; var x:massiv; i,n:integer; procedure sort(l,r:integer); var i,j,x1,y1,m: integer; begin i:=l; j:=r; m:=round ((l+r)/2); x1:=x[m]; repeat while x[i]<x1 do inc(i); while x[j]>x1 do dec(j); if i<=j then begin y1:=x[i]; x[i]:=x[j]; x[j]:=y1; inc(i); dec(j); end; until i>j; if l<j then sort(l,j); if i<r then sort(i,r); end; begin clrscr; randomize; write('Vvedite razmer massiva ne bolee 5000 n='); readln(n); writeln('ishodni massiv:'); for i:=1 to n do begin x[i]:=random(50)-10; write(x[i],' '); end; writeln; sort(1,n); writeln('Massiv posle sortirovki: '); for i:=1 to n do write(x[i],' '); readln; end. |
![]() |
![]() |
![]() |
#2 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
Да есть уже в твоем коде все необходимые "ограничители")
Лажа у тебя скорее в другом - вместо m:=round ((l+r)/2); следует использовать m:=(l+r) div 2 |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с алгоритмом быстрой сортировки | maryan.vetrov | Общие вопросы C/C++ | 2 | 31.08.2010 18:56 |
Вопросы насчёт быстрой сортировки(С++) | Stopafilm | Помощь студентам | 2 | 01.08.2010 10:43 |
Метод быстрой сортировки | Nord18 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 05.06.2010 11:24 |
Метод быстрой сортировки Хоора Pascal | Бармалей | Помощь студентам | 8 | 18.11.2009 21:21 |
Список с быстрой перемоткой(Delphi) | drumerbaker | Помощь студентам | 6 | 13.06.2009 23:20 |