UCHEES.RU - помощь студентам и школьникам

В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно вывести **...


В 9:46 поступил вопрос в раздел Информатика, который вызвал затруднения у обучающегося.

Вопрос вызвавший трудности

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

Ответ подготовленный экспертами Учись.Ru

Для того чтобы дать полноценный ответ, был привлечен специалист, который хорошо разбирается требуемой тематике "Информатика". Ваш вопрос звучал следующим образом:

В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О».
Нужно вывести на экран все возможные слова, состоящие из 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. 


-------------------



НЕСКОЛЬКО СЛОВ ОБ АВТОРЕ ЭТОГО ОТВЕТА:

Работы, которые я готовлю для студентов, преподаватели всегда оценивают на отлично. Я занимаюсь написанием студенческих работ уже более 4-х лет. За это время, мне еще ни разу не возвращали выполненную работу на доработку! Если вы желаете заказать у меня помощь оставьте заявку на этом сайте. Ознакомиться с отзывами моих клиентов можно на этой странице.

Мишина Номи Федосеевна - автор студенческих работ, заработанная сумма за  прошлый месяц 55 484 рублей. Её работа началась с того, что она просто откликнулась на эту вакансию

ПОМОГАЕМ УЧИТЬСЯ НА ОТЛИЧНО!

Выполняем ученические работы любой сложности на заказ. Гарантируем низкие цены и высокое качество.

Деятельность компании в цифрах:

Зачтено оказывает услуги помощи студентам с 1999 года. За все время деятельности мы выполнили более 400 тысяч работ. Написанные нами работы все были успешно защищены и сданы. К настоящему моменту наши офисы работают в 40 городах.

РАЗДЕЛЫ САЙТА

Ответы на вопросы - в этот раздел попадают вопросы, которые задают нам посетители нашего сайта. Рубрику ведут эксперты различных научных отраслей.

Полезные статьи - раздел наполняется студенческой информацией, которая может помочь в сдаче экзаменов и сессий, а так же при написании различных учебных работ.

Красивые высказывания - цитаты, афоризмы, статусы для социальных сетей. Мы собрали полный сборник высказываний всех народов мира и отсортировали его по соответствующим рубрикам. Вы можете свободно поделиться любой цитатой с нашего сайта в социальных сетях без предварительного уведомления администрации.

ЗАДАТЬ ВОПРОС

НОВЫЕ ОТВЕТЫ

ПОХОЖИЕ ВОПРОСЫ