Viktoriya20030401
08.07.2021 19:20

Нужны истинные программисты 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.
душу, считайте, вам открыл.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
mika181minecrafMilka
21.03.2021 08:31

дальше измени сама


var month:integer;
begin
readln(month);
if ((month >0 ) and ( month < 13)) then
case month of
1 : writeln ('january (31 days) ');
2 : writeln ('fabruary (28 days) ');
3 : writeln ('march (31 days)');
4 : writeln ('April (31 days) ');
5 : writeln ('fabruary (28 days)');
6 : writeln ('march (31 days)');
7 : writeln ('january (31 days) ');
8 : writeln ('fabruary (28 days) ');
9 : writeln ('march (31 days)');
10 : writeln ('january (31 days) ');
11 : writeln ('fabruary (28 days) ');
12: writeln ('march (31 days)');
end
else writeln('error');
readln;
end.

0,0(0 оценок)
Ответ:
natalyabelozer3
10.08.2021 17:32

// language c++

 

float array[n];

 

//Zadacha 1

//1)

int answer;

for (i =0, i <n, i++)

{

  if (array[0] >= array[i])

   array[0] = array[i];

   answer = i;

}

cout<<answer;

 

//2)

int summ;

float array2[n];

for(int i =0, i < n, i++)

{

   summ +=array[i];

}

cout<<summ;

 

//Zadacha2

 

float massive[n];

for (int i = 0, i < n, i++)

{

   if (massive[i] < 0)

    massive[i] = -1 * massive[i];

}

//1)

int answer = 0;

for (i =0, i <n, i++)

{

  if (massive[0] >= massive[i])

   massive[0] = massive[i];

   answer = i;

}

cout << answer;

 

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота