Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ 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

Цитата
Подробнее тут. Ну и поиск, например - тут.

спасибо.. только я его всегда называл неопределенным оО
Цитата
Извини, но объяснять основы языка каждому - нужно слишком много времени.

а в вот этом не нуждаюсь wink.gif