Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 1
Регистрация: 07.05.2016
Сообщений: 74
1

Рекурсивный подсчет чисел в строке

05.10.2016, 14:04. Показов 1004. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Нужно написать функцию которая считает количество цифр в строке. Обязательно использовать рекурсию но функция должна быть без параметров(это как?)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
int digit_count (char *s)
{
    return *s ? *s >= '0' && *s <= '9' ? 1 + digit_count (s+1) : digit_count (s+1) : 0;
}
 
int main(int argc, char* argv[])
{
    char s1[]="123 saf 45 f66ea." ;
    cout << digit_count(s1) << endl;
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2016, 14:04
Ответы с готовыми решениями:

Подсчет единиц в строке из чисел
Всем привет, помогите пожалуйста, это мое первое соощение здесь)) Начал писать программу, и...

Подсчет количества простых чисел в строке
Доброго времени суток. Необходимо написать программу, которая бы подсчитывала количество простых...

Рекурсивный подсчет вершин дерева
Доброго времени суток. Есть такое задание: &quot;Написать рекурсивную программу, которая по заданному n...

Рекурсивный подсчет количества нечетных цифр в числе
Всем привет. Есть работающая программа, которая считает все цифры в числе рекурсивно. А по...

3
Helper C/C++
286 / 163 / 122
Регистрация: 22.09.2016
Сообщений: 518
05.10.2016, 14:17 2
Лучший ответ Сообщение было отмечено Shadow0671 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
char s1[] = "123 saf 45 f66ea.";
 
int digit_count()
{
    static char* s = s1; s++;
    return *(s-1) ? *(s-1) >= '0' && *(s-1) <= '9' ? 1 + digit_count() : digit_count() : 0;
}
 
int main(int argc, char* argv[])
{
    cout << digit_count() << endl;
 
    std::cin.get();
 
    return 0;
}
1
2 / 2 / 1
Регистрация: 07.05.2016
Сообщений: 74
05.10.2016, 14:37  [ТС] 3
Спасибо огромнейшее
0
Helper C/C++
286 / 163 / 122
Регистрация: 22.09.2016
Сообщений: 518
05.10.2016, 14:38 4
Огромнейшее пожалуйста
0
05.10.2016, 14:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2016, 14:38
Помогаю со студенческими работами здесь

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

Рекурсивный способ вывода чисел
Необходимо написать программу, рекурсивный способ вывода чисел. Пример: 5 4 3 2 1 0

Реализовать рекурсивный алгоритм вывода строки в обратном порядке путём устранения последнего символа в строке
Кто-нибудь помогите пожалуйста решить данную задачку: Реализовать рекурсивный алгоритм вывода...

Рекурсивный способ суммирования последовательности чисел
Необходимо написать программу, рекурсивный способ суммирования последовательных чисел: 0 1 2 3. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru