Напишите на Паскале игру «Лотерея» без использования процедуры.
1)Программа приветствует пользователя и просит его ввести любое целое семизначное число.
2)Программа разбивает введённое пользователем число на 7 цифр, например, если пользователь ввёл число 1735284, то первая цифра – 1, вторая – 7 и т.д.
3)Затем программа генерирует своё случайное семизначное число при помощи процедуры random.
4)Аналогично пункту 2 программа разбивает на цифры своё сгенерированное число.
5)Программа сравнивает первую цифру числа пользователя с первой цифрой своего числа, вторую цифру со второй и т.д…
6)Если пользователь угадал 0 цифр, программа должна вывести сообщение «Ваш выигрыш 0 рублей!», если угадал 1 цифру – выигрыш 1 рубль, если угадал 2 цифры – выигрыш 10 рублей, если угадал 3 цифры – выигрыш 100 рублей и т.д.
7)Если пользователь угадал все 7 цифр (то есть полностью угадал число), то выигрыш – миллион рублей.
8)Программа выводит своё сгенерированное число, чтобы пользователь убедился в честности лотереи.
Ответы
program raf105;
var
a,b: array[1..7] of integer;
i,x,win: integer;
begin
writeln('Добро пожаловать в игру "Лотерея"!');
write('Введите семизначное число: ');
readln(x);
writeln;
a[1]:= x div 1000000;
a[2]:= (x div 100000) mod 10;
a[3]:= (x div 10000) mod 10;
a[4]:= (x div 1000) mod 10;
a[5]:= (x div 100) mod 10;
a[6]:= (x div 10) mod 10;
a[7]:= x mod 10;
x:= random(1000000,9999999);
b[1]:= x div 1000000;
b[2]:= (x div 100000) mod 10;
b[3]:= (x div 10000) mod 10;
b[4]:= (x div 1000) mod 10;
b[5]:= (x div 100) mod 10;
b[6]:= (x div 10) mod 10;
for i:=1 to 7 do
if a[i] = b[i]
then if win <> 0
then win:= win*10
else win:= 1;
writeln('Ваш выигрыш ',win,' руб.');
write('Введённые числа: ');
for i:=1 to 7 do
write(a[i],' ');
writeln;
write('Сгенерированные числа: ');
for i:=1 to 7 do
write(b[i],' ');
end.