Программа принимает на вход строку и букву. Надо определить (с использованием рекурсии), сколько раз данная буква встречается в строке.
Решение задачи
- Принимаем на вход строку и букву, записываем их в разные переменные.
- Передаем эти переменные в качестве аргументов в рекурсивную функцию.
- В качестве базы рекурсии примем условие, что строка является непустой.
- Если строка является непустой, то работа функции продолжается и мы смотрим, совпадает ли первый символ строки с проверяемой буквой, или нет. Если совпадает, то мы увеличиваем счетчик на единицу.
- Далее мы передаем строку без первой буквы снова в функцию, и все повторяется заново.
- Когда строка станет пустой, функция вернет нам количество вхождений буквы в строке. Выведем этот результат на экран.
- Конец.
Исходный код
Ниже дан исходный код программы для рекурсивного определения количества вхождений буквы в строку. Результаты работы программы также даны ниже.
Как ввести список в python. Как ввести список с клавиатуры в питоне
def check(string, ch): if not string: return 0 elif string[0] == ch: return 1 + check(string[1:], ch) else: return check(string[1:], ch) string = raw_input(«Введите строку:») ch = raw_input(«Введите букву для проверки:») print(«Количество вхождений:») print(check(string, ch))
Объяснение работы программы
- Пользователь вводит строку и букву, которые записываются в отдельные переменные string и ch .
- Далее эти переменные передаются в качестве аргументов в рекурсивную функцию check() .
- Для того чтобы функция продолжала свою работу, необходимо, чтобы строка была непустой. Если строка является пустой, функция завершает свою работу и возвращает 0 .
- На следующем шаге рекурсивная функция проверяет, совпадает ли буква в переменной ch с первой буквой в строке. Если совпадает, то в выходное значение добавляется 1 , к которой прибавляется функция check() , в которой в качестве аргумента передается наша строка, но уже без первой буквы. Если нет, то просто вызывается функция check() , где в качестве аргумента также строка без первой буквы.
- Так повторяется до тех пор, пока строка не станет пустой.
- После этого результат выводится на экран.
Результаты работы программы
Пример 1: Введите строку:abcdab Введите букву для проверки:b Количество вхождений: 2 Пример 2: Введите строку:hello world Введите букву для проверки:l Количество вхождений: 3
Источник: pythonist.ru
Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве из 8 целых элементов — Turbo Pascal
Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве из 8 целых элементов.
Код к задаче: «Написать программу, которая вычисляет, сколько раз введенное с клавиатуры число встречается в массиве из 8 целых элементов»
Листинг программы
12 Задача: Определить число четное или нечетное при помощи Python
Program abcd; var a:array[1..255] of integer; i,k,n,m:integer; begin writeln (‘Размерность массива’); readln (n); writeln (‘Введите элементы массива,через пробел’); for i:=1 to n do read (a[i]); writeln (‘Введите интересующее вас число’); readln (m); for i:=1 to n do begin IF a[i]=m then inc(k); end; writeln (‘Число’,’ ‘,m,’ ‘,’Встречается’,’ ‘,k,’ ‘,’Раз(а)’); end.
Источник: studassistent.ru
напишите программу которая вычисляет сколько раз введенное с клавиатуры число встречается в массиве который нужно ввести с клавиатуры в строчку ( в pascal)
program chislo;
var i,n,x,v : integer;
a : array [1..100] of integer;
begin
writeln(‘введите количество элементов n :’);
readln(n);
writeln(‘введите массив’);
for i:=1 to n do
read(a[i]);
writeln(‘введите число’);
readln(x);
v:=0;
for i:=1 to n do
if (a[i] = x) then v:=v+1;
writeln(‘встречается ‘,v);
end .
Ответ дал: kristinaloseva
Здравствуйте, спасибо за решение, но хотелось бы задать вопрос. Когда Вводим кол-во элементов n — то мы вводим допустим 10 и вылетает следующее Введите массив- пишу массив из 10 чисел и не чего больше не вылетает
Источник: 5pages.net