Turbo Pascal для начинающих




Задача 174


( Игра "Угадай число" }
const
N=3; { уровень сложности - количество цифр в числ
igrok: array[1..N]of char; { комбинация игрока } comp: array[1..N]of char; { комбинация компьютера }
a:- arrayfl..N] of boolean; { a[i]= TRUE, если i-я цифра компьютера совпала с одной из цифр игрока }
ugad:integer;{ угадано чисел }
mesto:integer;{ из них на своих местах }
i/ji integer; { индексы массива }begin
writeln('Компьютер задумал трехзначное число. ',
'Вы должны его отгадать.'); writeln('После ввода очередного числа, вам будет ',
'сообщено, сколько цифр'); writeln('угадано и сколько из них находятся ',
'на своих местах. ') ; writeln('После ввода числа нажимайте <Enter>.');
{ компьютер "задумывает" свое число }
randomize;
for i:=l to N do
compfi]:=chr(random(lO)+48); ( 48 - код символа '0' }
write('Компьютер задумал: '); for i:=l to N do write(comp[i]); writeln;
repeat
write('Ваш вариант-> '); {получить вариант игрока } for i:=l to N-l do read(igrok[i]); readln(igrok[N]);for i:=l to N do a[i]:=FALSE;
( a[i] = TRUE, если i-я цифра числа компьютера
совпала с одной из цифр числа игрока }
{ проверим, сколько цифр угадано } ugad:=0;
for i:=l to N do { проверим каждую цифру игрока } for j : =1 to N do begin
if (igrok[i] = comp[j]) and not a[j] then begin
ugad:=ugad+l;
a[j]:=TRUE; { запретим сравнивать
эту цифру компьютера с оставшимися, еще не проверенными цифрами игрока } end; end;
{ проверим, сколько на своих местах }
mesto:=0;
for i:=l to N do
if igrok[i] = comp[i] then mesto:=mesto+l;
writeln('Угадано:',ugad,'. На своих местах:',mesto); until (ugad « N) and (mesto = N) ; writeln('***ВЫ УГАДАЛИ ЧИСЛО!***'); write('Нажмите <Enter> для завершения.'); readln; end.









Начало    Назад    Вперед




Книжный магазин