Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 5.00
rkiller
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 18
#1

Рекурсивная функция вычисления длины строки - C++

15.11.2009, 19:07. Просмотров 2791. Ответов 6
Метки нет (Все метки)

Помогите пожалуйста решить задачу по программированию.

Напишите рекурсивную функцию вычисления длины строки.

Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2009, 19:07     Рекурсивная функция вычисления длины строки
Посмотрите здесь:

C++ Рекурсивная функция вычисления суммы бесконечного ряда
C++ Рекурсивная функция вычисления разрядности числа в двоичном виде
Рекурсивная функция вычисления факториала C++
Рекурсивная функция для вычисления суммы элементов арифметической прогрессии C++
C++ Рекурсивная функция для вычисления наибольшего значения в одномерном массиве
Рекурсивная функция вычисления C++
C++ Рекурсивная функция для вычисления арифметической функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
15.11.2009, 19:19     Рекурсивная функция вычисления длины строки #2
std::string?
или char mass[]??
rkiller
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 18
15.11.2009, 19:20  [ТС]     Рекурсивная функция вычисления длины строки #3
Цитата Сообщение от Sekt Посмотреть сообщение
std::string?
или char mass[]??
std::string мне кажется
RNT
Автор FAQ
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
15.11.2009, 19:24     Рекурсивная функция вычисления длины строки #4
Цитата Сообщение от rkiller Посмотреть сообщение
std::string мне кажется
http://cplusplus.com/reference/string/string/length/

C++
1
2
3
4
5
6
7
8
9
10
11
// string::length
#include <iostream>
#include <string>
using namespace std;
 
int main ()
{
  string str ("Test string");
  cout << "The length of str is " << str.length() << " characters.\n";
  return 0;
}
Не понимаю зачем нужна рекурсия, когда уже есть готовенький метод
rkiller
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 18
15.11.2009, 19:27  [ТС]     Рекурсивная функция вычисления длины строки #5
Цитата Сообщение от RNT Посмотреть сообщение
http://cplusplus.com/reference/string/string/length/

C++
1
2
3
4
5
6
7
8
9
10
11
// string::length
#include <iostream>
#include <string>
using namespace std;
 
int main ()
{
  string str ("Test string");
  cout << "The length of str is " << str.length() << " characters.\n";
  return 0;
}
Не понимаю зачем нужна рекурсия, когда уже есть готовенький метод
Но таким образом я бы и сам сделал но как сюда рекурсию присабачить я даже и не знаю. Может не с текстом а с цифрами что то получится
Monte-Cristo
2786 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
15.11.2009, 19:31     Рекурсивная функция вычисления длины строки #6
Как-то так.. я рекурсию стараюсь избегать, поэтому знаком немного
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
 
int strlength(char *str);
 
int main()
{
    const int n = 50;
    char str[n];
    
    cout << "Input string:" << endl;\
    cin.getline(str, n);
    
    cout << "String length = " << strlength(str) << endl;
    
    system("pause");
    return 0;
}
 
int strlength(char *str)
{
    int res=0;
    if (*str!='\0')
    {
        res++;
        res+=strlength(++str);
    }
    return res;
}


Добавлено через 1 минуту
Цитата Сообщение от rkiller Посмотреть сообщение
как сюда рекурсию присабачить я даже и не знаю.
рекусрию никуда собачить не надо. от тебе требуется написать свою функцию нахождения длинны строки. скорее всего, это не через std::string, а через массив символов. хотя алгоритм для std::string такой же.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2009, 19:37     Рекурсивная функция вычисления длины строки
Еще ссылки по теме:

C++ Рекурсивная функция для вычисления индекса максимального элемента массива
Рекурсивная функция для вычисления по заданной формуле C++
C++ Рекурсивная функция вычисления умножения элементов одномерного массива
Рекурсивная функция вычисления выражения C++
C++ Рекурсивная функция вычисления факториала

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

Или воспользуйтесь поиском по форуму:
RNT
Автор FAQ
3132 / 352 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
15.11.2009, 19:37     Рекурсивная функция вычисления длины строки #7
Вот рекурсивная функция, правда я использовал массив char:

C++
1
2
3
4
5
6
int length(char* str)
{
    if(*str)
        return length(++str)+1;
    else return 0;
}
Yandex
Объявления
15.11.2009, 19:37     Рекурсивная функция вычисления длины строки
Ответ Создать тему
Опции темы

Текущее время: 08:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru