нужно построить оранамент с помощью спевдографики на всю ширину экрана. файл с орнаментом прилагается... совсем что-то не могу понять,как построить. В поиске не находила. Я получается не знаю,как построить вертикальные прямые в орнаменте,с горизонтальными уже разберусь как-нибудь. спасибо.
volvo
19.04.2007 20:08
Вот ASCII-коды всех нужных тебе символов...
Горизонтальные - символ #196 Вертикальные - #179
Угловые: правый верхний #191 левый верхний #218 правый нижний #217 левый нижний #192
Sensitive
21.04.2007 18:25
вот всё,что я смогла сообразить Подскажите,что сделать дальше,пожалуйста. И я не смогла додуматься,как сделать,чтоб например с клавиатуры можно было вводить длину вертикальной и горизонтальной черты...
Артемий, спасибо. Но мне же нужно сделать такой орнамент по всей ширине экрана. Это постоянно добавлять циклы? Будет же огромная программа. А никак нельзя сделать, чтобы этот кусочек повторялся до тех пор пока не привысится ширина экрана? (repeat...until) я не могу понять как это организовать.....
volvo
23.04.2007 21:24
uses crt; const width = 80; var i, j:byte;
begin clrscr;
gotoxy(1,7); for j := 1 to (width div 10) + 1 do begin
for i := 1 to 5 do write(#196); write(#217); for i := 1 to 4 do begin gotoxy(wherex - 1, wherey - 1); write(#179); end; gotoxy(wherex - 1, wherey - 1); write(#218); for i := 1 to 6 do write(#196); write(#191); for i := 1 to 2 do begin gotoxy(wherex - 1, wherey + 1); write(#179); end; gotoxy(wherex - 1, wherey + 1); write(#217); for i := 1 to 5 do begin gotoxy(wherex - 2, wherey); write(#196); end; gotoxy(wherex - 1, wherey); write(#218); for i := 1 to 2 do begin gotoxy(wherex - 1, wherey + 1); write(#179); end; gotoxy(wherex - 1, wherey); write(#192);
end; readln; end.
Так?
Sensitive
24.04.2007 3:26
Да,volvo, так, спасибо. Совсем позабыла, кстати, про ф-цию where (x,y)... Один только вопрос: почему в первом цикле
for j := 1 to (width div 10) + 1 do begin
прибавляем единицу?
volvo
24.04.2007 3:32
Ну, я же начинаю с единицы, а не с нуля...
Sensitive
24.04.2007 3:43
А ну да, с единицы
Sensitive
25.04.2007 17:11
Я извиняюсь, а как можно сделать, чтоб этот орнамент был на весь экран. Я так понимаю нужно выводить его по строчкам... но как это сделать? Помогите,если сможете... (с другим орнаментом получилось, а с этим никак!)
volvo
25.04.2007 17:17
Добавь еще один - внешний - цикл:
for k := 1 to 3 do begin { <--- Вот этот }
gotoxy(1, 7*pred(k) + 7); for j := 1 to (width div 10) + 1 do begin
for i := 1 to 5 do write(#196); write(#217); for i := 1 to 4 do begin gotoxy(wherex - 1, wherey - 1); write(#179); end; gotoxy(wherex - 1, wherey - 1); write(#218); for i := 1 to 6 do write(#196); write(#191); for i := 1 to 2 do begin gotoxy(wherex - 1, wherey + 1); write(#179); end; gotoxy(wherex - 1, wherey + 1); write(#217); for i := 1 to 5 do begin gotoxy(wherex - 2, wherey); write(#196); end; gotoxy(wherex - 1, wherey); write(#218); for i := 1 to 2 do begin gotoxy(wherex - 1, wherey + 1); write(#179); end; gotoxy(wherex - 1, wherey); write(#192);
end;
end;
Sensitive
25.04.2007 17:32
Спасибо, volvo. Я не могла понять куда еще один цикл поставить-теперь понятно как.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.