Как узнать позицию символов в слове не используя string и массивы? - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Как узнать позицию символов в слове не используя string и массивы? Например, вводим слово:

welcome

Потом вводим букву которую нужно найти:

e

После чего, программа выдаст результат:

Позиция буквы e: 2; 7;

Как это можно сделать? Помогите пожалуйста, буду очень благодарен. Со string всё просто, но без него - не получается.

Решение задачи: «Как узнать позицию символов в слове не используя string и массивы?»

textual
Листинг программы
  1. var
  2.   letter : boolean = false;
  3.   key : char = #0;
  4.  
  5. procedure p(lvl : integer = 1);
  6. var ch : char;
  7. begin
  8.   ch := readkey;
  9.   write(ch);
  10.  
  11.   if ch = #13 then
  12.   begin
  13.     if not letter then
  14.     begin
  15.       writeln;
  16.       writeln('Буква:');
  17.       letter := true;
  18.       p(lvl + 1);
  19.     end
  20.   end
  21.   else
  22.   begin
  23.     if letter then
  24.     begin
  25.       key := ch;
  26.       ch := #0;
  27.       readln;
  28.       write('Позиции буквы "', key, '" : ')
  29.     end
  30.     else p(lvl + 1)
  31.   end;
  32.  
  33.   if (key <> #0) and (key = ch) then write(lvl:3);
  34. end;
  35.  
  36. begin
  37.   writeln('Слово: ');
  38.   p();
  39. end.

Объяснение кода листинга программы

В данном коде используется рекурсивная функция p, которая принимает целочисленный параметр lvl (уровень) и выполняет следующие действия:

  1. Считывает символ из ввода пользователя с помощью функции readkey и сохраняет его в переменной ch.
  2. Выводит символ на экран с помощью функции write.
  3. Если символ равен символу новой строки (#13), то выводит на экран сообщение Буква: и переходит к следующему символу.
  4. Если символ не равен символу новой строки, то проверяет значение переменной letter.
  5. Если переменная letter равна false, то выводит на экран сообщение Буква:, переходит на следующий уровень рекурсии и считывает следующий символ.
  6. Если переменная letter равна true, то сохраняет текущий символ в переменной key и переходит к следующему символу.
  7. Если символ равен символу новой строки, то выводит на экран сообщение Позиции буквы и значение переменной key, затем выводит на экран сообщение : и позицию текущего символа в слове.
  8. Если символ не равен символу новой строки, то вызывает функцию p для следующего символа.
  9. Если значение переменной key не равно текущему символу, то выводит на экран сообщение с номером уровня.
  10. Вызывает функцию p для следующего символа.
  11. Выводит слово, для которого выполняется поиск позиции буквы. Используется также функция readln для считывания всего ввода пользователя в одну строку.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы