fork download
  1. program px(input,output);
  2. type list=array [1..6] of integer;
  3. var
  4. d,e : list; ii : integer;
  5.  
  6. procedure merge(var a,b,c,e : list;
  7. fa,la,fb,lb,fc : integer;
  8. var lc : integer); forward;
  9. procedure mergesort(var a,e : list;
  10. fa, la : integer);
  11. var b : list; i, mid : integer;
  12. begin
  13. if fa<la then
  14. begin mid := (fa + la) div 2;
  15. mergesort(a,e, fa, mid);
  16. mergesort(a,e, mid+1, la);
  17. merge(a, a, b,e,fa, mid, mid+1,
  18. la, fa, la);
  19. for i := fa to la do a[i]:=b[i]
  20. end
  21. end;
  22.  
  23. procedure merge(var a,b,c,e : list;
  24. fa,la,fb,lb,fc : integer;
  25. var lc : integer);
  26. var ia, ib, ic,kk,tt : integer;
  27. begin
  28. ia := fa; ib := fb; ic := fc; kk:=fc;
  29. repeat
  30. if a[ia]<b[ib] then
  31. begin tt:=e[kk];e[kk]:=e[ia];e[ia]:=tt; c[ic]:=a[ia]; ia:=ia+1;kk:=kk+1 end
  32. else
  33. begin tt:=e[kk];e[kk]:=e[ib];e[ib]:=tt; c[ic]:=b[ib]; ib:=ib+1;kk:=kk+1 end;
  34. ic := ic+1
  35. until (ia>la) or (ib>lb);
  36. for ia := ia to la do
  37. begin tt:=e[kk];e[kk]:=e[ia];e[ia]:=tt; c[ic]:=a[ia]; ic:=ic+1;kk:=kk+1 end;
  38. for ib := ib to lb do
  39. begin tt:=e[kk];e[kk]:=e[ib];e[ib]:=tt; c[ic]:=b[ib]; ic:=ic+1; kk:=kk+1 end;
  40. lc := ic-1
  41. end;
  42.  
  43. begin
  44. readln(N);
  45. for ii:=1 to N do read(d[ii]); readln;
  46. mergesort(d,e,1,N)
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Free Pascal Compiler version 2.2.0 [2009/11/16] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Linux for i386
Compiling prog.pas
prog.pas(44,9) Error: Identifier not found "N"
prog.pas(44,10) Error: Illegal expression
prog.pas(45,16) Error: Identifier not found "N"
prog.pas(46,18) Error: Identifier not found "N"
prog.pas(46,19) Fatal: Syntax error, ";" expected but "end of file" found
Fatal: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
stdout
Standard output is empty