Как узнать позицию символов в слове не используя string и массивы? - Free Pascal
Формулировка задачи:
Как узнать позицию символов в слове не используя string и массивы?
Например, вводим слово:
welcome
Потом вводим букву которую нужно найти:e
После чего, программа выдаст результат:Позиция буквы e: 2; 7;
Как это можно сделать? Помогите пожалуйста, буду очень благодарен. Со string всё просто, но без него - не получается.Решение задачи: «Как узнать позицию символов в слове не используя string и массивы?»
textual
Листинг программы
var letter : boolean = false; key : char = #0; procedure p(lvl : integer = 1); var ch : char; begin ch := readkey; write(ch); if ch = #13 then begin if not letter then begin writeln; writeln('Буква:'); letter := true; p(lvl + 1); end end else begin if letter then begin key := ch; ch := #0; readln; write('Позиции буквы "', key, '" : ') end else p(lvl + 1) end; if (key <> #0) and (key = ch) then write(lvl:3); end; begin writeln('Слово: '); p(); end.
Объяснение кода листинга программы
В данном коде используется рекурсивная функция p, которая принимает целочисленный параметр lvl (уровень) и выполняет следующие действия:
- Считывает символ из ввода пользователя с помощью функции readkey и сохраняет его в переменной ch.
- Выводит символ на экран с помощью функции write.
- Если символ равен символу новой строки (#13), то выводит на экран сообщение
Буква:
и переходит к следующему символу. - Если символ не равен символу новой строки, то проверяет значение переменной letter.
- Если переменная letter равна false, то выводит на экран сообщение
Буква:
, переходит на следующий уровень рекурсии и считывает следующий символ. - Если переменная letter равна true, то сохраняет текущий символ в переменной key и переходит к следующему символу.
- Если символ равен символу новой строки, то выводит на экран сообщение
Позиции буквы
и значение переменной key, затем выводит на экран сообщение:
и позицию текущего символа в слове. - Если символ не равен символу новой строки, то вызывает функцию p для следующего символа.
- Если значение переменной key не равно текущему символу, то выводит на экран сообщение с номером уровня.
- Вызывает функцию p для следующего символа.
- Выводит слово, для которого выполняется поиск позиции буквы. Используется также функция readln для считывания всего ввода пользователя в одну строку.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д