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

Рекурсия строки - C++

Войти
Регистрация
Восстановить пароль
 
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
15.12.2008, 12:57     Рекурсия строки #1
Объясните пожалусто почему не работает 2 кода .
Код
#include <iostream>
#include <time.h>
using namespace std;
int stepen(int a,int b)
{
 if(a==0)
  return 1;
 int rez=stepen(a-1,b)*b;
 return rez;
}
void writeBackward(string s, int size){
 if (size > 0){
  cout<<s.substr( size-1,1);//ругаеться здесь 
  writeBackward(s,size-1); 
 } 
}
void main()
{
 string s="cat";
 int size=3;
 int a=3;
 int b=2;
    writeBackward(s,size);
 
 cout<<stepen(a,b)<<'\n';
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Вертолётчик
1 / 1 / 0
Регистрация: 01.12.2008
Сообщений: 113
15.12.2008, 20:44     Рекурсия строки #2
try std::cout<<;
I have noticed only this mistake until now.
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
15.12.2008, 21:54  [ТС]     Рекурсия строки #3
мм зачем писать std:: если уже есть using namespace std;
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8506 / 2173 / 61
Регистрация: 07.03.2007
Сообщений: 10,844
Завершенные тесты: 1
16.12.2008, 09:44     Рекурсия строки #4
ну ясный красный, cout для указателя на массив символов, тебе надо использовать функцию c_str() из класса string
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
16.12.2008, 12:37  [ТС]     Рекурсия строки #5
а можно написать другои пример по работам со строками с помощью рекурсии ,просто этот пример был описан в книге и мне он не понятен,зачем там s.substr( size-1,1);
и можете потсказать почему степень не работает .
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8506 / 2173 / 61
Регистрация: 07.03.2007
Сообщений: 10,844
Завершенные тесты: 1
16.12.2008, 12:51     Рекурсия строки #6
s.substr( size-1,1); - берется последний символ
на счет степени - а что она делает, что неправильно...
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
16.12.2008, 19:16  [ТС]     Рекурсия строки #7
степень счетает неправильно
Lord_Voodoo
Супер-модератор
 Аватар для Lord_Voodoo
8506 / 2173 / 61
Регистрация: 07.03.2007
Сообщений: 10,844
Завершенные тесты: 1
16.12.2008, 19:31     Рекурсия строки #8
трассируй тогда код, посмотри сколько итераций при расчете степени проходит
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2008, 21:05     Рекурсия строки
Еще ссылки по теме:

C++ Рекурсия
C++ рекурсия в с++ ( ?: = if() else)
C++ Рекурсия. Символы строки в обратном порядке
Рекурсия: Перестановки символов в строки C++
C++ Рекурсия

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

Или воспользуйтесь поиском по форуму:
Casper!
 Аватар для Casper!
15 / 14 / 1
Регистрация: 02.09.2008
Сообщений: 167
17.12.2008, 21:05  [ТС]     Рекурсия строки #9
ща попробуем

Добавлено через 22 часа 23 минуты 36 секунд
так состроками я разобрался надо было просто объявить #include<string>
Yandex
Объявления
17.12.2008, 21:05     Рекурсия строки
Ответ Создать тему
Опции темы

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