Ho un problema nell'esecuzione di un programma: vorrei stampare a video dei caratteri con posizionamento casuale, ma il programma non lo fa e me li posiziona tutti nel punto più alto a sinistra.

Questo è il codice incriminato:

codice:
program prova;


uses crt;


var
        carattere, riga, colonna: integer;




begin
        clrscr;


        colonna:= random (25);
        riga:= random (81);
        for carattere:=1 to 10 do
        begin
        gotoxy(colonna, riga);
        textcolor(GREEN);
        writeln('©');
        end;


        readln
end.


In questo esercizio precedente invece mi era riuscito, non riesco proprio a capire dove sia la differenza...

codice:
program prova;

uses crt;


var
        contatore, colonna, riga, colore, totali: integer;


begin
        clrscr;


        totali:=0;




        repeat
                totali:=totali +1;
                colonna:= random (81);
                riga:= random (26);
                gotoxy(colonna,riga);
                colore:=random (16);
                if colore=YELLOW then
                        contatore:=contatore +1;
                textcolor(colore);
                write('█');
                delay(100);
        until contatore=3;


        gotoxy(1,50);
        writeln('Totale rettangolini: ', totali);
        write('Percentuale di rettangolini gialli sul totale: ');
        writeln( (contatore/totali) * 100:4:2, '%' );




        readln


end.
Please help me...