
Вопрос задан 22.03.2019 в 23:11.
Предмет Информатика.
Спрашивает Ким Алина.
В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно вывести на экран все
возможные слова, состоящие из K букв, в которых есть по крайней мере две одинаковые буквы, не обязательно стоящие рядом. Программа не должна строить другие слова, не соответствующие условию.

Ответы на вопрос

Отвечает Великодный Дмитрий.
Const
ab = 'ышчо'; //алфавит племени
var
vort: string;
j, k, raz: integer;
per: boolean;//признак переноса разряда
//проверка наличия совпадающих букв в слове
function kond(var vort: string): boolean;
var
n: integer;
begin
result := false;
n := length(vort);
for var i := 1 to n - 1 do
for var j := i + 1 to n do
if vort[j] = vort[i] then
begin
result := true;
exit;
end;
end;
begin
writeln('Введите k');
readln(k);
for var i := 1 to k do
vort := vort + ab[1];
raz := k;
per := false;
while raz > 0 do
if per then
begin
while vort[raz] = ab[4] do
begin
vort[raz] := ab[1];
raz := raz - 1;
if raz < 1 then exit;
end;
j := pos(vort[raz], ab) + 1;
vort[raz] := ab[j];
per := false;
raz := k;
end
else
begin
if kond(vort) then writeln(vort);
j := pos(vort[k], ab) + 1;
if j > 4 then
per := true
else
vort[k] := ab[j];
end;
end.
ab = 'ышчо'; //алфавит племени
var
vort: string;
j, k, raz: integer;
per: boolean;//признак переноса разряда
//проверка наличия совпадающих букв в слове
function kond(var vort: string): boolean;
var
n: integer;
begin
result := false;
n := length(vort);
for var i := 1 to n - 1 do
for var j := i + 1 to n do
if vort[j] = vort[i] then
begin
result := true;
exit;
end;
end;
begin
writeln('Введите k');
readln(k);
for var i := 1 to k do
vort := vort + ab[1];
raz := k;
per := false;
while raz > 0 do
if per then
begin
while vort[raz] = ab[4] do
begin
vort[raz] := ab[1];
raz := raz - 1;
if raz < 1 then exit;
end;
j := pos(vort[raz], ab) + 1;
vort[raz] := ab[j];
per := false;
raz := k;
end
else
begin
if kond(vort) then writeln(vort);
j := pos(vort[k], ab) + 1;
if j > 4 then
per := true
else
vort[k] := ab[j];
end;
end.


Топ вопросов за вчера в категории Информатика

Информатика 562

Информатика 404

Информатика 31

Информатика 76

Информатика 16

Информатика 41

Информатика 31
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili