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

Палиндром в С++ - C++

Восстановить пароль Регистрация
 
ZimOne
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 80
27.10.2013, 17:25     Палиндром в С++ #1
Нужно составить программу которая определяет, является ли строчка палиндромом или нет. Написал такую программу, несколько раз проводил троссировку, но не работает все равно
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
      string getClose (string s){
      int i;
      for (i=0;i<s.length();i++){
        if ((int) s[i]==32) s.erase(i,1);
      }
      return s;
      }
int main () {
    string s;
    int k=0;
    int i;
    getline(cin,s);
    s=getClose(s);
                  for (i=1; i<=s.length(); i++){
                    if ((s[i])==(s[s.length()+1-i])){
                      k=k+1;
                      }
                      
                  } 
                  cout<<k;
                  if (k==s.length()){
                      cout<<"YES"<<endl;
                  }
                  else {
                      cout<<"NO"<<endl;
                  }
              
    return 0;
}
Причем когда вводятся одинаковые символы n раз, то k равняется n-2; а если ввести строчку аля Аргентина Манит Негра, то к равняется 1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2013, 17:25     Палиндром в С++
Посмотрите здесь:

C++ Палиндром
Палиндром... C++
C++ Палиндром.
C++ палиндром
Палиндром C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
27.10.2013, 17:34     Палиндром в С++ #2
C++
1
2
 for (i=0; i<s.length(); i++){
                    if ((s[i])==(s[s.length()-i-1])){
ZimOne
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 80
27.10.2013, 17:38  [ТС]     Палиндром в С++ #3
Цитата Сообщение от scenotaph Посмотреть сообщение
C++
1
2
 for (i=0; i<s.length(); i++){
                    if ((s[i])==(s[s.length()-i-1])){
большое спасибо, работает! я так понимаю в С++ если у нас есть строчка, то ее первый символ это не s[1], а s[0] ?
scenotaph
120 / 120 / 15
Регистрация: 29.03.2013
Сообщений: 237
27.10.2013, 17:40     Палиндром в С++ #4
Цитата Сообщение от ZimOne Посмотреть сообщение
большое спасибо, работает! я так понимаю в С++ если у нас есть строчка, то ее первый символ это не s[1], а s[0] ?
Да, индексация с нуля
Yandex
Объявления
27.10.2013, 17:40     Палиндром в С++
Ответ Создать тему
Опции темы

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