Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2009, 05:32   #1
AnaVare
 
Регистрация: 18.02.2009
Сообщений: 6
По умолчанию Помогите решить интересную задачу

Вводится тип осадка (снег или дождь), направление ветра*(с права, слева), кол-во осадков. и это все должно выводиться на экран. я сделал так но препод не берет:
Код:
uses crt,graph;

var

osadok:integer;
veter:integer;
kosadkov:longint;
dr,dt:integer;

procedure sneg(a:integer; b:longint);
var i,j:integer;
label q,w;
begin
j:=0;
clrscr;
dt:=detect;
initgraph(dt,dr,'c:/langs/bp/bgi');
if a=0 then begin

q:clrscr;
i:=0;
while i<480 do
begin
i:=i+20;
setcolor(15);
outtextxy(0,i,'\* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* ');
line(0,480-j,650,480-j);

end;

clrscr;
i:=10;
while i<480 do begin
i:=i+20;
setcolor(15);
outtextxy(0,i,'\* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \* \*\* \* \* \* \* \* \*');
line(0,480-1-j,640,480-1-j);
end;

while j<b do begin
j:=j+1;
goto q;
end;
end else if a=1 then begin
w:clrscr;
i:=0;
while i<480 do
begin
i:=i+20;
setcolor(15);
outtextxy(0,i,'*/ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ ');
line(0,480-j,640,480-j);
end;

clrscr;
i:=10;
while i<480 do begin
i:=i+20;
setcolor(15);
outtextxy(0,i,'*/ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ */ ');
line(0,480-1-j,640,480-1-j);
end;

while j<b do begin
j:=j+1;
goto w;
end;

end else outtext('Pishi pravilno!');
end;





procedure dojt(a:integer; b:longint);
var i,j:integer;
label q,w;
begin
j:=0;
clrscr;
dt:=detect;
initgraph(dt,dr,'c:/langs/bp/bgi');
if a=0 then begin

q:clrscr;
i:=0;
while i<480 do
begin
i:=i+20;
setcolor(15);
outtextxy(0,i,'\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ');
line(0,480-j,650,480-j);

end;

clrscr;
i:=10;
while i<480 do begin
i:=i+20;
setcolor(15);
outtextxy(0,i,' \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ');
line(0,480-1-j,640,480-1-j);
end;

while j<b do begin
j:=j+1;
goto q;
end;
end else if a=1 then begin
w:clrscr;
i:=0;
while i<480 do
begin
i:=i+20;
setcolor(15);
outtextxy(0,i,'/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /  ');
line(0,480-j,640,480-j);
end;

clrscr;
i:=10;
while i<480 do begin
i:=i+20;
setcolor(15);
outtextxy(0,i,' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /  ');
line(0,480-1-j,640,480-1-j);
end;

while j<b do begin
j:=j+1;
goto w;
end;

end else outtext('Pishi pravilno!');
end;


begin
clrscr;
writeln('Vvedite vid osadka(sneg: 1;dojt: 0);');readln(osadok);
writeln('Vvedute napravlenie vetra (sprava: 1;sleva: 0);'); readln(veter);
writeln('Kol-vo osadkov: ');readln(kosadkov);
if osadok=1 then sneg(veter,kosadkov) else if osadok=0 then dojt(veter,kosadkov) else writeln('napishi pravilno!');
readln;
end.

Последний раз редактировалось rpy3uH; 18.02.2009 в 09:01.
AnaVare вне форума Ответить с цитированием
Старый 18.02.2009, 08:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Подобное и у нас было. Вот остатки былой славы, мож пригодится:
Код:
uses crt;
var veter,sneg,dojd,napravlenie:boolean;k,x,y,i:byte;
s:string;
begin
clrscr;
 repeat
 x:=1;y:=1;
 veter:=true;
 napravlenie:=false;
 if not napravlenie then x:=10;
 s:='';
 if napravlenie then s:='\' else s:='/';
 if not veter then s:='|';
 if sneg then s:=s+'*';
 for k:=0 to 10 do begin
  gotoxy(x,y);
  for i:=1 to 5 do write(s);
  if veter then
   if napravlenie then inc(x) else dec(x);
  inc(y);
 end;
 until keypressed;
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу!!! Deis Помощь студентам 2 31.01.2009 00:25
Помогите решить интересную математическую задачку на Паскале. skl1f Помощь студентам 9 04.12.2008 01:10
Помогите решить задачу по С++ dosinho Помощь студентам 1 29.11.2008 13:33
РЕШИТЕ ИНТЕРЕСНУЮ ЗАДАЧУ НА ПАСКАЛЕ) ПОЖАЛУЙСТА ДЛЯ ЛЮБИМОЙ ДЕВУШКИ.ПЕРВЫЙ КУРС УНИВЕРА АНДРОН Паскаль, Turbo Pascal, PascalABC.NET 1 10.11.2008 12:02
Помогите решыть интересную задачу "Конкурс красоты" на Pascale Haret Помощь студентам 3 09.12.2006 16:19