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

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

Форум «Всё о Паскале» _ Задачи _ програма о треугольниках

Автор: rubik 24.11.2003 1:09

надо сделать програму чтоб она выдовала два треугольника так чтоб основания были паралельны  
кто может помогите!!!!!

Автор: GLuk 24.11.2003 1:28

В смысле рисовала, два пофигу каких треугольника с параллельными основаниями??

Автор: rubik 25.11.2003 20:31

два равнобедреных и рисовала их при помощи '*'

Автор: GLuk 25.11.2003 21:51

Дык это что-ли в текстовом, примерно вот так:

Код
Uses Crt;
Begin
ClrScr;
WriteLn('      *    ');
WriteLn('    ***  ');
WriteLn('   **** ');
WriteLn('  *****');
End.

Автор: rubik 26.11.2003 2:29

нет не в текстовом

Автор: GLuk 27.11.2003 0:28

Значит в графическом с помощью какого-то подобия спрайтов типа: "*"??

Автор: rubik 28.11.2003 0:48

да с помощью function или procedure

Автор: GLuk 28.11.2003 20:48

Вот посмотри и скажи, то ли это, что тебе надо, единственная разница, ДыК это в использовании Line, а не спрайтов и ишшо не совсем понял твой ответ:

Я спрашиваю:

Цитата
С помощью спрайтов?

Ты отвечаешь: Да с помощью function/procedure

Здесь есть какой-то скрытый смысл??!  ;)

ВОТ:

Код

Program Isosceles_Triangle;
Uses
   Crt,Graph;
Const
    StartScreenOffset = 10;
Var
  Gd,Gm:Integer;
  Base:Real;
  Rib:Real;
  Offs:Byte;
  H:Real;

Procedure ShowTriangle(Offst:Byte);
begin
    MoveTo(StartScreenOffset+Offst,Round(H)+Offst);
    LineTo(StartScreenOffset+Round(Base)+Offst,Round(H)+Offst);
    LineTo(StartScreenOffset+Round(Base) DIV 2+Offst,1+Offst);
    LineTo(StartScreenOffset+Offst,Round(H)+Offst);
end;

Begin
    ClrScr;
    WriteLn('‚ў®¤ ¤ ­­ле:');
    Write('ђ §¬Ґа ®б­®ў ­Ёп: '); ReadLn(Base);
    Write('ђ §¬Ґа ॡа : '); ReadLn(Rib);
    Write('‘¬ҐйҐ­ЁҐ ®в­®бЁвҐ«м­® ¤агЈ ¤агЈ : '); ReadLn(Offs);
    H:=Sqrt(4*Rib*Rib-Base*Base)/2;  {‚лб®в }
    InitGraph(Gd,Gm,'');
    ShowTriangle(0);
    ShowTriangle(Offs);
    ReadLn;
    CloseGraph;
End.