Правила игры.
Играют двое - вы и комп.
комп загадывает число, , а вы его отгадываете.
когда делаете попытки отгадать число - комп выдаёт, какие сколько цифр в числе правильно и сколкьо из них стоят на своих местах.
числа 4-х значные. Также программа должна считать за сколько попыток вы отгадали число.
Прошу помочь написать.
Есть некий код, но очень неправильный, верно, скажите где-чё переменить, чтоб работало правильно.
var
a:array[1..4]of integer;
b:array[1..4]of integer;
i,kol,kol1,n,j:integer;
begin
randomize;
repeat
a[1]:=random(9)+1;
a[2]:=random(9)+1;
a[3]:=random(9)+1;
a[4]:=random(9)+1;
until (a[1]>0);
writeln('chislo kompa=',a[1],a[2],a[3],a[4])
repeat
kol:=0;
kol1:=0;
writeln('vvedite chislo');
writeln('dlya okonchaniya vvedite enter');
readln(n);
for i:=1 to 4 do
begin
b[5-i]:=n mod 10;
n:=n div 10;
end;
for i:=1 to 4 do
for j:=1 to 4 do
begin
if a[i]=b[j] then inc(kol);
if (a[i]=b[j])and(i=j)then inc(kol1);
end;
writeln('vernyh chisel=',kol);
writeln('na meste=',kol1);
writeln;
until (kol1=4)or(b[1]=0);
if kol1=4 then write('vy ugadali!');
readln;
end.
Тут нету счетчика количества угадываний и, когда комп загадывает например 8794, а ты вводишь 8888 или 7777 там, то выдает что 4 числа угадал, а на самом деле одно ведь.
Разработать алгоритм и написать программу игры "Угадай число" |