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

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

Форум «Всё о Паскале» _ Задачи _ Пирамида...

Автор: yar 5.12.2002 13:06

Народ здрасьте, помогите решить задачку!
Нарисовать пирамиду, где размер случайный (в разумных пределах), цвет тоже, каждая след. ступенька уменьшается на рандомное число...

Заранее благодарен...

Автор: trminator 26.12.2002 1:19

Лови решение (длинное, корявое :-[, зато работает)
==================================


PROGRAM piramida;
var s : string;
StartRazm, razm, decr : integer;

function MakeStr(razm,cur:integer): string;
var s:string;
i:integer;
begin s:='';
for i:=1 to razm do
if not(i in [((razm-cur)div 2 + 1) .. ((razm-cur)div 2 + cur)]) then
s:=s+' '
else s:=s+'=';
MakeStr:=s
end;

begin
randomize;
StartRazm:=(random(10)+1)*2; {Все размеры четные}
razm:=StartRazm;
decr:=(random(3)+1)*2;{На ск-ко уменьшаю}
while razm>0 do begin
s:=MakeStr(StartRazm,razm); {Генерю строку}
WriteLn(s);
razm:=razm-decr
end;
end.


===============================
Кстати, если именно нарисовать (в смысле, с графикой), то это не ко мне...
И начсет цвета: каждая ступенька - случ. или как? (здесь пока никак)


P.S. Я не опоздал?