Histogram słupkowy

program histogram;
uses crt, graph;
var d:array[1..10] of integer;
    n,i:byte;
    s,t:integer;
    klawisz:char;
procedure slupek(xx,yy,aa,hh,ss,kk:integer);
begin
  setfillstyle(ss,kk);
  bar(xx,yy,xx+aa,yy-hh);
end;
procedure wprowadz_dane;
begin
  write('Ile slupkow? n = ');
  readln(n);
  for i:=1 to n do
  begin
    write('dana[',i,'] = ');readln(d[i]);
  end;
end;
procedure rysuj_histogram(xh,yh,dx,kk:integer);
begin
  setcolor(kk);
  line(xh,yh+5,xh+(n+2)*dx,yh+5);
  for i:=1 to n do
  begin
    slupek(xh+dx*i,yh,dx-3,d[i],i+1,yellow);
  end;
end;
begin
  repeat
    clrscr;
    randomize;
    wprowadz_dane;
    initgraph(s,t,'');
    rysuj_histogram(100,500,30,red);
    klawisz:=readkey;
    closegraph;
  until klawisz=#27;
end.