• Напишите на Паскале игру «Лотерея» без использования процедуры.

    1)Программа приветствует пользователя и просит его ввести любое целое семизначное число.

    2)Программа разбивает введённое пользователем число на 7 цифр, например, если пользователь ввёл число 1735284, то первая цифра – 1, вторая – 7 и т.д.

    3)Затем программа генерирует своё случайное семизначное число при помощи процедуры random.

    4)Аналогично пункту 2 программа разбивает на цифры своё сгенерированное число.

    5)Программа сравнивает первую цифру числа пользователя с первой цифрой своего числа, вторую цифру со второй и т.д…

    6)Если пользователь угадал 0 цифр, программа должна вывести сообщение «Ваш выигрыш 0 рублей!», если угадал 1 цифру – выигрыш 1 рубль, если угадал 2 цифры – выигрыш 10 рублей, если угадал 3 цифры – выигрыш 100 рублей и т.д.
    7)Если пользователь угадал все 7 цифр (то есть полностью угадал число), то выигрыш – миллион рублей.

    8)Программа выводит своё сгенерированное число, чтобы пользователь убедился в честности лотереи.

Ответы 1

  • 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.

    PascalABC 3.4.2
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years