Учеба и наука

Создал игру, где нужно угадать число от одного до ста, но почему-то при определенном порядке чисел программа виснет(например 1,50). Может кто знает в чем проблема? - вопрос №1157879

чем тут дело?
var a,b,c,d,x: integer;
begin
randomize;
writeln ('Igra ugadai chislo ot 1 do 99');
x:=random(99)+1;
c:=99;
d:=1;
repeat
readln (a);
begin
if a=x then
break;
end;

begin
if a>x then
begin
writeln ('menshe');
if c>a then
c:=a;
end
else
begin
writeln ('bolshe');
if d<a then
d:=a;
end;
end;

begin
repeat
b:=random(c-d);
until (b>d) and (b<c);
writeln ('Bot govorit ',b)
end;

begin
if b>x then
begin
writeln ('menshe');
if c>b then
c:=b;
end
else
begin
writeln ('bolshe');
if d<b then
d:=b;
end;
end;

until (a=x) or (b=x);
writeln ('Ugadal ', x);
end.

август 24, 2014 г.

  • Всего ответов: 1

    • Могу помочь разобраться, обращайтесь.
    • У вас программа зацикливается на выборе ответа бота. Исправить легко, нужно уточнить, что именно хотелось сделать.

    Самое простое — строку b:=random(c-d); замените на b:=random(c-d)+d; — виснуть не должно.

    Не забудьте оценить ответ.

    август 28, 2014 г.

Похожие вопросы

Написать код на Pascal

февраль 24, 2022 г.

Учеба и наука