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

Рекурсивные алгоритмы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Paraday
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 73
29.05.2012, 18:54     Рекурсивные алгоритмы #1
не могу понять как сделать...
помогите пожалуйста

Написати рекурсивну функцію, що визначає, чи є симетричною частина рядка,
починаючи з i та закінчуючи j –м елементами.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
29.05.2012, 19:03     Рекурсивные алгоритмы #2
по-русски пишите.
Paraday
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 73
29.05.2012, 19:16  [ТС]     Рекурсивные алгоритмы #3
Написать рекурсивную функцию, которая определяет, является ли симметричной часть строки,
начиная с i и заканчивая j-м элементами.
Lordif
 Аватар для Lordif
21 / 21 / 1
Регистрация: 18.04.2010
Сообщений: 87
29.05.2012, 19:43     Рекурсивные алгоритмы #4
Так подойдет?
C++
1
2
3
4
5
6
7
bool f(const string& str, int i, int j){
 if(i > j)
  return true;
 if(str[i] == str[j])
  return f(str, i + 1, j - 1);
 return false;
}
Paraday
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 73
29.05.2012, 19:46  [ТС]     Рекурсивные алгоритмы #5
я не пойму как это записать =(
Lordif
 Аватар для Lordif
21 / 21 / 1
Регистрация: 18.04.2010
Сообщений: 87
29.05.2012, 19:50     Рекурсивные алгоритмы #6
Если нужна полностью программа, то вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
using namespace std;
bool f(const string& str, int i, int j){
 if(i > j)
  return true;
 if(str[i] == str[j])
  return f(str, i + 1, j - 1);
 return false;
}
int main(){
 string str;
 int i, j;
 cout << "Enter string and i, j: ";
 cin >> str >> i >> j;
 if(f(str,i,j)) cout << "symmetric" << endl;
 else cout << "asymmetric" << endl;
 return 0;
}
Yandex
Объявления
29.05.2012, 19:50     Рекурсивные алгоритмы
Ответ Создать тему
Опции темы

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