- Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст не менее двух раз; все согласные буквы входящие только в одно слово.
- Разгадайте ребус: БАРБОС + БОБИК = СОБАКИ.
Вторая вообще полный ужас, у меня есть даже наподобие ребусы, вот решение одного из них: "муха + муха = слон"
Program Example_Set_5;
Uses Crt;
Type
mn = Set of 0..9;
Var
m, y, x, a: 0..9; { цифры числа МУХА }
count, { счетчик числа найденных решений }
n1, n2: Integer; { числа МУХА и СЛОН }
a1, a2, a3, a4: 0..9; { цифры числа CЛOH }
s1, s2: mn; { для хранения цифр каждого из чисел }
Procedure Print( x, y: Integer); { вывод решения в виде ребуса }
begin
Inc(count);
writeln(count,':');
Writeln( x: 5 );
Writeln('+');
Writeln( x: 5 );
Writeln('-------');
Writeln( y:5 );
writeln;
readkey; { Остановка для просмотра всех решений }
end;
Begin
ClrScr;
count := 0;
s1 := []; s2 := [];
for m := 1 to 4 do begin
s1:=s1 + [m]; { заносим первую использованную цифрру }
for y:=0 to 9 do
{ если эта цифра не была еще взята, то добаеляем ее во множество
цифр числа МУХА и выбираем цифру для следующей буквы }
if not (y in s1) then begin
s1 := s1 + [y];
for x := 0 to 9 do
if not (x in s1) then begin
s1 := s1 + [x];
for a:=1 to 9 do
if not (a in s1) then begin
s1 := s1 + [a];
n1:=1000*m+100*y+10*x+a; { число для слова МУХА }
n2 := 2*n1; { число для слова СЛОН }
a1:=n2 div 1000; { выделяем цифры СЛОНа }
a2:=n2 div 100 mod 10;
a3:=n2 div 10 mod 10;
a4:=n2 mod 10;
s2:=[a1,a2,a3,a4]; {множество цифр СЛОНа}
{ если слова состаят из разных цифр
и в слове СЛОН нет одинаковых, то
вывыводим решнение ребуса на экран }
if (s1 * s2 = []) and ([a1]*[a2] = [])
and ([a1]*[a3] = []) and ([a1]*[a4] = [])
and ([a2]*[a3] = []) and ([a2]*[a4] = [])
and ([a3]*[a4] = []) then Print(n1, n2);
s1 := s1 - [a]; { удаляем занесенную цифру }
end;
s1 := s1 - [x];
end;
s1 := s1 - [y];
end;
s1 := s1 - [m];
end;
Writeln('Всего найдено ', count, ' решения. Нажмите Enter ... ');
Readln;
End.
В принципе решение этой задачи до меня дошло, но здесь на самом деле просто, потому что складываются два одинаковых слова.......это элементарно, если хорошо разобраться, но вот если слова разные то до меня не доходит как написать программу, помогите пожалуйста кто может.......