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

Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Александр1115
2 / 2 / 0
Регистрация: 24.11.2013
Сообщений: 33
03.03.2014, 20:54     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом #1
разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2014, 20:54     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом
Посмотрите здесь:

Написать функцию, проверяющую является ли введенная строка палиндромом C++
Дана строка символов. Является ли заданная она палиндромом C++
Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа н C++
Определить, является ли заданная строка палиндромом C++
Дана строка символов. Проверьте,является ли данная строка палиндромом C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_include
Студент
 Аватар для _include
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
03.03.2014, 21:04     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом #2
Если именно строка (нумерация в строках начинается 0)
C++
1
2
3
4
5
6
7
8
9
bool palindrome(char* str, int i, int j)
{
    if (i == j || i > j) 
        return true;
    if (s[i] == s[j])
        palindrome(s, ++i, --j);          
    else
        return false;
}
Александр1115
2 / 2 / 0
Регистрация: 24.11.2013
Сообщений: 33
04.03.2014, 20:41  [ТС]     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом #3
не понимаю ваш код. вероятно, здесь идёт проверка некоторого слова в строке, но не всей строки
_include
Студент
 Аватар для _include
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
04.03.2014, 21:40     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом #4
Да, Вы правы Но
Цитата Сообщение от Александр1115 Посмотреть сообщение
не понимаю ваш код. вероятно, здесь идёт проверка некоторого слова в строке, но не всей строки
что Вы понимаете под строкой? Некая строка типа оло оло? Ну допустим можно сделать так - обернуть это в проверку всей строки, и если все слова в ней читаются одинаково, то строка палиндром. Или если первое слово палиндром, к счетчику +1; если второе слово не является палиндромом, то возвращаем что эта строка не палиндром. А если слово читается в обоих направлениях, то опять к счетчику +1. И так постепенно проверять все слова.
Нууу либо я не верно понял задание
Александр1115
2 / 2 / 0
Регистрация: 24.11.2013
Сообщений: 33
05.03.2014, 15:08  [ТС]     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом #5
например, если дана строка "Я иду с мечем судия" то это палиндром. нам не нужно проверять каждое слово, т.к. само слово может и не быть палиндромом, но вся строка должна.Нашел код, но не понимаю что происходит в нем.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string>
#include <cctype>
#include <iostream>
 
using namespace std;
 
bool is_palindrome(string &s, unsigned int i = 0, unsigned int j = -1) {
    if (j == -1) return is_palindrome(s, i, s.size());
    if (i >= j) return true;
    if (isspace(s[ i]) || ispunct(s[ i])) return is_palindrome(s, i + 1, j);
    if (isspace(s[j - 1]) || ispunct(s[j - 1])) return is_palindrome(s, i, j - 1);
    if (tolower(s[ i]) == tolower(s[j - 1])) return is_palindrome(s, i + 1, j - 1);
    return false;
}
simka555
0 / 0 / 0
Регистрация: 29.10.2013
Сообщений: 15
20.04.2014, 20:26     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом #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
30
31
32
33
34
#include <iostream>
#include<conio.h>
#include <windows.h>
using namespace std;
 
 
int sim (int n , int j, char*mas)
{
    if (n==1)
        return mas[0];
    else return mas[1]+mas[n-1];}
 
    int sim (int i,int j,char *masw)
    {
        if (i<=j)
            if (w[i]==w[j]);
        return sim(i+1,j-1,w); 
            else return 0;
        else return 1;
    }
    void main()
        int i,j;
      char w[25],buf[25];
      cout<<"vvod str"<<endl;
      cin.getline(buf,25);
        OemToCharA(buf,w);
            if (w,"")==0)break;
          cout<<"vvod j,i"<<endl;
      cin>>j>>i;
      if(sim==1)
          cout<<" sim"<<endl;
      cout<<"no sim"<<endl;
      system("pause");
    }

Люди, вот тут исправить можете?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 21:25     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом
Еще ссылки по теме:

Является ли строка палиндромом C++
C++ Написать рекурсивную функцию, определяющую, является ли заданное натуральное число простым
Является ли строка палиндромом C++

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

Или воспользуйтесь поиском по форуму:
daslex
1084 / 494 / 101
Регистрация: 02.08.2011
Сообщений: 2,408
20.04.2014, 21:25     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом #7
del
Yandex
Объявления
20.04.2014, 21:25     Разработать рекурсивную функцию, определяющую является ли заданная строка палиндромом
Ответ Создать тему
Опции темы

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