При выполнении программы пропускается цикл for - Free Pascal
Формулировка задачи:
Это звучит бредово, но вчера эта самая программа работала. Однако сегодня паскаль даже видить не хочет цикл for.
В чем может быть причина? (Вместо закорючек, в паскале, отображаются русские буквы)
p.s. опять же все символы в из паскаля и поэтому отображаются не верно.
program cifr; uses crt; var a,b,c,d,x,vibor,i,again:integer; s,vivod,EngAlf,RusAlf,EngAlfReturn,RusAlfReturn:string; g:boolean; begin clrscr; c:=0; x:=1; EngAlf:='abcdefghijklmnopqrstuvwxyz !ь* '; RusAlf:='*ЎўЈ¤Ґс¦§Ё©Є«¬*®Їабвгдежзийклмноп !ь* '; a:=length(s); for i:=length(RusAlf) downto 1 do begin RusAlfReturn:=RusAlfReturn+RusAlf[i]; end; for i:=length(EngAlf) downto 1 do begin EngAlfReturn:=EngAlfReturn+EngAlf[i]; end; Writeln('—в® ўл е®вЁвҐ:'); writeln('1-ЛњЁда®ў*вм'); writeln('2-ђ*§иЁда®ў*вм'); read(vibor); repeat begin clrscr; if vibor=1 then begin x:=1; readln(s); readln(s); begin for i:=1 to 33 do {[B][U]<--- ВОТ ЭТОТ ЦИКЛ[/U][/B]} if s[1]=RusAlf[i] then begin {Он отвечает за проверку языка в строчке} s:=s+'R'; repeat begin c:=c+1; if s[x]=RusAlf[c] then begin vivod:=RusAlf[c+4]; write(vivod); x:=x+1; c:=0; end; end; until s[x]='R'; break; end else begin s:=s+'R'; repeat begin c:=c+1; if s[x]=EngAlf[c] then begin vivod:=EngAlf[c+4]; write(vivod); x:=x+1; c:=0; end; end; until s[x]='R'; break; end; end; end else begin x:=1; readln(s); readln(s); for i:=1 to 33 do if s[1]=RusAlf[i] then begin s:=s+'R'; repeat begin c:=c+1; if s[x]=RusAlfReturn[c] then begin vivod:=RusAlfReturn[c+4]; write(vivod); x:=x+1; c:=0; end; end; until s[x]='R'; break; end; end; writeln; writeln; writeln('—в® ўл е®вЁвҐ:'); writeln('1-‡*иЁда®ў*вм'); writeln('2-ђ*§иЁда®ў*вм'); writeln('3-‚멤вЁ'); read(vibor); end; until vibor=3; end.
Знаете, вот програмка полегче:
program ThisIsProgram; uses crt; var a,b,c,d,x,y,x1,y1,i,i2,again:integer; s:string; sv,sg,lu,lm,ld,mu,mm,md,ru,rm,rd:char; begin repeat begin clrscr; randomize; sv:='і'; sg:='Д'; lu:='Ъ'; lm:='Г'; ld:='А'; mu:='В'; mm:='Е'; md:='Б'; ru:='ї'; rm:='ґ'; rd:='Щ'; x:=2; y:=2; x1:=x; y1:=y; GotoXY(x,y); write(lu); x1:=x; for i2:=x1 to x1+3 do begin x:=x+1; GotoXY(x,y); write(sg); end; y1:=y; GotoXY(x,y); write(ru); for i2:=y1 to y1+2 do begin y:=y+1; GotoXY(x,y); write(sv); end; x1:=x; GotoXY(x,y); write(rd); for i2:=x1 to x1-3 do begin x:=x-1; GotoXY(x,y); write(sg); end; y1:=y; GotoXY(x,y); write(ld); for i2:=y1 to y1-3 do begin y:=y-1; GotoXY(x,y); write(sv); end; GotoXY(15,15); writeln('•®вЁвҐ Їа®¤®«¦Ёвм а*Ў®вг?'); write('1 yes 0 no'); read(again); end; until again<>1; end.
Решение задачи: «При выполнении программы пропускается цикл for»
textual
Листинг программы
uses crt; procedure Box(x1, y1, x2, y2: Integer); const sv='в”‚'; sg='в”Ђ'; lu='в”Њ'; mu='┬'; ru='в”ђ'; lm='в”њ'; mm='в”ј'; rm='┤'; ld='в””'; md='┴'; rd='в”
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д