Нужны истинные программисты pascal! pascal находит ошибку там, где её нет: в большой программе он находит ошибку, а если скопировать и отдельно проверить эту часть программы она хорошо работает!
вот эта часть программы:
var a,d: array [0..100] of string; b,i,j,l: integer; t: text; g,p,k: string; x,h,e: boolean;
begin
for i: =1 to 100 do begin
g: =a[i];
for j: =1 to length(g) do if g[j]='h' then break;
if g[j]='h' then break;
end;
writeln('x=',j,' y=',i);
end.
здесь, если внести необходимые данные, то программа будет работать, но, если обратиться к основной - то не будет.
вот вся программа:
program keygame; {p-пустая клетка; #-запертая решётка; @-выход; & -ключ; ^> v< -шипы(вверх вправо вниз влево); *-стена; $-магазин; /\-зеркала; h-герой; o-камень; -|-транспорт; %-динамит}
var a,d: array [0..100] of string; b,i,j,l: integer; t: text; g,p,k: string; x,h,e: boolean;
begin
writeln('1.play');
writeln('2.level editor (do not work)');
readln(b);
case b of
1: begin
writeln('choose level: ');
writeln('1.level1');
writeln('1.level2');
writeln('1.level3');
writeln('1.level4');
writeln('1.level5');
readln(b);
case b of
1: begin
assign(t, 'c: \pabcwork.net\myprograms\games\keygame\level1.txt');
reset(t);
for i: =2 to 100 do begin
readln(t,a[i]);
if a[i]=p then break;
end;
close(t);
end;
end;
for i: =1 to 100 do d[i]: =a[i];
for i: =1 to 100 do begin
g: =d[i];
l: =length(g);
for j: =1 to l do begin
if g[j]='p' then g[j]: =' ';
if g[j]='-' then g[j]: ='▬';
if g[j]='|' then g[j]: ='│';
if g[j]='v' then g[j]: ='▼';
if g[j]='^' then g[j]: ='▲';
if g[j]='< ' then g[j]: ='◄';
if g[j]='> ' then g[j]: ='►';
if g[j]='*' then g[j]: ='▓';
if g[j]='h' then g[j]: ='☺';
end;
d[i]: =g;
end;
for i: =1 to 100 do begin
if d[i]< > p then writeln(d[i]);
end;
for i: =1 to 100 do begin
if a[i]< > p then writeln(a[i]);
end;
h: =true; e: =true;
while (h=true) or (e=true) do begin;
x: =true;
b: =0;
while < 10) and (b> 0)) or ((b< 60) and (b> and (b mod 2=0) do begin
writeln('move: ');
writeln('8-up, 2-down, 4-left, 6-right');
writeln('fire: ');
writeln('58-up, 52-down, 54-left, 56-right');
readln(b);
end;
case b of
2: begin
for i: =1 to 100 do begin
g: =a[i];
for j: =1 to length(g) do if g[j]='h' then break;
writeln('x=',j,' y=',i);
if g[j]='h' then break;
end;
end;
4: begin
end;
6: begin
end;
8: begin
end;
52: begin
end;
54: begin
end;
56: begin
end;
58: begin
end;
end;
end;
end;
end;
end.
душу, считайте, вам открыл.
216
398
Ответы на вопрос:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
karinaigubaeva09.08.2022 15:16
-
geraveselov2013.03.2021 18:12
-
безумнаявкедах18.08.2020 06:21
-
aliya11100018.07.2021 15:41
-
vitiatiger13.12.2020 06:45
-
syromyatnikovа28.12.2022 10:14
-
darova120517.06.2021 13:55
-
yuliyamusatova118.06.2022 02:56
-
boykina2218.09.2020 21:15
-
Артеммашар14.03.2020 19:25
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.