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