Не понимаю как без использования двумерных массивов получить на экране вертикальные "сугробы" в зависимости от количества упавших снежинок в програмке:
uses
crt;
const
n=79;
var
n:array[1..n] of byte;
i,k:byte;
begin
clrscr;
for i:=1 to n do
x[i]:=0;
repeat
k:=random(80);
if x[k]=0 then x[k]:=1;
for i:=1 to n do
begin
if x[i]>0 then
begin
gotoxy(i,x[i]);
write(' ');
x[i]:=x[i]+1;
gotoxy(i,x[i]);
write('*');
if x[i]>23 then x[i]:=0;
end;
end;
delay(2000);
until keypressed;
end.
Используй два одномерных - один для указания текущей позиции "снежинки", другой - для высоты "сугроба":
uses
crt;
const
n=79;
var
x:array[1..n] of byte;
stop: array[1 .. n] of byte;
i,k:byte;
begin
clrscr;
for i:=1 to n do begin
x[i]:=0; stop[i] := 25;
end;
repeat
k:=random(80);
if x[k]=0 then x[k]:=1;
for i:=1 to n do
begin
if x[i]>0 then
begin
if x[i] < stop[i] then begin
gotoxy(i,x[i]); write(' ');
x[i]:=x[i]+1;
gotoxy(i,x[i]); write('*');
end
else begin
x[i] := 0;
stop[i] := stop[i] - 1;
end;
end;
end;
delay(2000);
until keypressed;
end.
Спасибо за помощь!