Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2012, 16:28   #1
NeoMurderer
 
Аватар для NeoMurderer
 
Регистрация: 19.04.2011
Сообщений: 9
По умолчанию Слово палиндром

Вот условия задачи
Цитата:
Входные данные

Дана строка S (|S| ≤ 255), состоящая из строчных латинских букв и пробелов. Под |S| подразумевается длина строки.

Выходные данные

Требуется вывести "YES", если текст является палиндромом, "NO" если не является.
Вот мой код, почему что он не проходит все тесты, что там может быть?
Код:
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
    int i,j=0,len,a;
    char s[256],s2[256],s3[256];
    cin>>s;
    len=strlen(s);
    for(i=0;i<=len;i++)
    {
        if(s[i]!=' ')
        {
            s2[j]=s[i];
            s3[j]=s[i];
            j++;
        }
    }
    strrev(s2);
    a=strcmp(s2,s3);
    if(a==0) cout<<"YES\n";
    else cout<<"NO\n";
}
NeoMurderer вне форума Ответить с цитированием
Старый 29.03.2012, 20:04   #2
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию

Код:
    bool palindrom = true;
    for(i=0;i<(len/2);i++)
    {
        if(s[i]!=s[len-i-1])
        {
            palindrom = false;
            break;
        }
    }
    if (palindrom) 
    {
        //слово - палиндром
     }
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
haruhi вне форума Ответить с цитированием
Старый 31.03.2012, 14:52   #3
Evgeniy_K
Новичок
Джуниор
 
Регистрация: 31.03.2012
Сообщений: 1
По умолчанию

Код:
bool isPalyndrom(char *s){
 int len = strlen(s);
 bool flag;
 if(len == 0 || len == 1)
  flag = true;
 for(int i = 0, j = len - 1; i < len/2; i++, j--)
  if(s[i] == ' ')
   i++;
  if(s[j] == ' ')
   j--;
  if(s[i] == s[j])
   flag = true;
  else
   flag = false;
 return flag;
}
Evgeniy_K вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заменить заданное слово в тексте, находящемся в заданном файле, на другое слово (С++) Lapochka Помощь студентам 6 01.12.2011 14:05
палиндром Darknes Общие вопросы C/C++ 3 01.06.2011 17:58
Палиндром shark2010 Помощь студентам 11 23.04.2010 03:07
Палиндром??? viva2222 Помощь студентам 6 21.03.2010 12:29
Палиндром Carbon Помощь студентам 9 12.11.2007 14:32