Форум «Всё о Паскале» _ Задачи _ Pascal ABC vs FPC 2.4.0
Автор: Kpucto 15.01.2011 22:36
var n,i:integer; input,output:text; a:array[1..1000000] of longint;
procedure quickk(var d:array [1..1000000] of longint;j:integer;k:integer); var main,s,ram:integer; begin if j = k then exit; main := d[j]; s := j+1; for i := j+1 to k do if d[i] < main then begin ram := d[i]; d[i] := d[s]; d[s] := ram; ram := d[s]; d[s] := d[s-1]; d[s-1] := ram; if s <> k then s := s + 1; end; quickk(d,j,s-1); quickk(d,s,k); end;
procedure QuickS(var d:array [1..1000000] of longint;n:integer); var j,k:integer; begin j := 1; k := n; quickk (d,j,k); end; begin assign(input,'input.txt'); reset(input); assign(output,'output.txt'); rewrite(output); readln(input,n); for i:=1 to n do read(input,a[i]); quicks(a,n); for i:=1 to n do write(output,a[i],' '); close(input);close(output); end.
вот код программы. Собственно на паскале абц сортировка работает на ура, а на фри выдает ошибку.. С чем это может быть связяно? оО
Автор: volvo 15.01.2011 23:14
Цитата
Собственно на паскале абц сортировка работает на ура
Собственно, на ABC (на той, которая поддерживается сейчас, а не на допотопной) это даже не компилируется. Потому что описывать типы прямо в заголовке процедуры умеет только GPC. В остальных компиляторах надо либо использовать открытый массив, либо описывать тип глобально, и пользоваться уже готовым описанием, а не конструировать "на месте".
Автор: Kpucto 16.01.2011 0:04
Цитата
открытый массив
можно поподробнее?
Автор: Lapp 16.01.2011 7:47
Цитата(Kpucto @ 15.01.2011 20:04)
можно поподробнее?
Подробнее http://freepascal.org/docs-html/ref/refsu59.html#x136-14600011.4.5. Ну и поиск, например - http://www.tp7.info/tp_ushitel.php?directory=gl8&link=gl8_4.html. Извини, но объяснять основы языка каждому - нужно слишком много времени.
Автор: Kpucto 16.01.2011 8:46
Цитата
Подробнее тут. Ну и поиск, например - тут.
спасибо.. только я его всегда называл неопределенным оО
Цитата
Извини, но объяснять основы языка каждому - нужно слишком много времени.