Нарисовать домик через write - Pascal ABC
Формулировка задачи:
Пользователь вводит число (сторону квадрата или сторону домика), необходимо нарисовать домик с крышей
Собственно не знаю как нарисовать крышу.
Также необходимо сделать окошко у домика (просто квадрат тоже).
Вот так рисует тело дома:
Листинг программы
- var i,n,j,m,k:integer;
- begin
- writeln('Введите сторону дома');
- readln(n);
- for i:=1 to n do
- write('*');
- writeln;
- for i:=2 to n-1 do
- begin
- write('*');
- for j:=2 to n-1 do
- write(' ');
- write('*');
- writeln;
- end;
- for i:=1 to n do
- write('*');
- writeln;
- end.
Решение задачи: «Нарисовать домик через write»
textual
Листинг программы
- var i,n,j,o,m:integer;
- begin
- writeln('Введите сторону дома');
- readln(n);
- if odd(n) then begin writeln('*':n div 2+1);
- for i:=1 to n div 2 do
- writeln('*':n div 2-i+1,'*':i*2);
- end
- else begin writeln('**':n div 2+1);
- for i:=2 to n div 2 do
- writeln('*':n div 2-i+1,'*':i*2-1);
- end;
- o:=n div 3; if o<2 then o:=2;
- for i:=1 to n do write('*');writeln;
- for i:=2 to n-1 do
- begin
- if (i>o)and(i<=n-o)
- then begin
- write('*');
- for j:=2 to n-1 do if (j<o+1)or(j>n-o) then write(' ')
- else write('*') ;
- writeln('*');
- end
- else begin write('*');for m:=2 to n-1 do write(' ');writeln('*') end
- end;
- for i:=1 to n do write('*');writeln;
- end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д