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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
#1

Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом - C++

03.10.2012, 16:06. Просмотров 886. Ответов 9
Метки нет (Все метки)

Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом. Если да то напечатать полученный, иначе вывести строку с удаленными прописными символами...

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
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
 
int main()
{
 
 
string s; 
char buf[250]; 
string k; 
char z[60];
cout<<"predlogenie : ";
gets(buf); 
s = buf;
 
for(int j=0; j<s.length(); j++)
{
if(s[j]!=' ')
{
k+=s[j];
}
else
{
for(int i=0; i<k.length(); i++)
{
if(k[i]!=k[k.length()-i-1])
{
for(char z='A'; 'Z'; i++)
if (s[i]=z) cout<<s[i];
 
}
else
{
cout << "слово " << k << " yes" << endl;
}
k="";
}
}
}
 
return 0;
}
Разобрался только для палиндрома...а вот как исключить прописные не знаю...подскажите
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 16:06     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом
Посмотрите здесь:

C++ Удалить из строки слова, состоящие только из прописных букв
C++ Проверить, является ли строка палиндромом
Проверить является ли слово палиндромом C++
C++ Дано слово, состоящее только из строчных латинских букв. Проверьте, является ли это слово палиндромом.
C++ Проверить, является ли введенное число палиндромом
C++ Проверить, является ли введенная строка палиндромом
C++ Проверить, является ли слово или число палиндромом
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
03.10.2012, 16:58     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом #2
isupper http://www.cplusplus.com/reference/c...ctype/isupper/
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
03.10.2012, 17:11  [ТС]     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом #3
какой то бред сделал...да и функцию не определяет
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
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <stdio.h>
#include <string>
#include <ctype.h>
using namespace std;
 
int main()
{
string s;
char buf[250];
string k;
char z[60];
cout<<"predlogenie : ";
gets(buf);
s = buf;
for(int j=0; j<s.length(); j++)
{
if(s[j]!=' ')
{
k+=s[j];
}
else
{
for(int i=0; i<k.length(); i++)
{
if(k[i]!=k[k.length()-i-1])
{
  {
 
    if (isupper(s)) s=tolower(s);
    putchar (s);
    i++;
  }
}
else
{
cout << "слово " << k << " yes" << endl;
}
k="";
}
}
}
return 0;
}
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
03.10.2012, 17:33     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
int main()
{   
    
    std::string str = "Real Madrid";
    {  
        for ( int i = 0; i < str.length(); i++)  
            if(isupper(str[i])) 
             str.erase(i,1); 
    } 
    std::cout << str << std::endl;
}
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
04.10.2012, 11:16  [ТС]     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом #5
Все разобрался..
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.10.2012, 16:31  [ТС]     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом #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
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
using namespace std;
 
int main()
{
 
char* s= new char [128]; //задаем строку
char buf[250]; //для пробелов
string k;  //еще строка
cout<<"predlogenie : ";
gets(buf); //считываем
s = buf;
int i=0;
for(int j=0; j<strlen(s); j++)//цикл
{
if(s[j]!=' ')
{
k+=s[j]; //убираем пробел и провряем на палиндром
}
else //если не палиндром
{
for(int i=0; i<k.length(); i++) //цикл
{
if(k[i]!=k[k.length()-i-1])
{
  {
  for ( int i = 0; i < strlen(s); i++)
            if(isupper(s[i])) //если буква большая
            s.erase(s,i); //удаляем
             std::cout << s << std::endl; //выводим
  }
}
else
{
cout << "slovo " << k << " yes" << endl;//вывод палиндрома
}
k="";
}
}
}
return 0;
}
s.erase выдает ошибку
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
11.10.2012, 17:10     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом #7
erase не получится использовать с типом char.
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.10.2012, 17:14  [ТС]     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом #8
а что можно придумать
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
11.10.2012, 17:25     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом #9
Либо не использовать erase, либо переводить char в стринг
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2012, 17:49     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом
Еще ссылки по теме:

Проверить является ли строка палиндромом C++
C++ Проверить является ли заданное слово палиндромом
C++ Проверить, является ли введенный текст палиндромом
Проверить, действительно ли число является палиндромом C++
C++ Проверить, является ли число палиндромом (do/while)

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

Или воспользуйтесь поиском по форуму:
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.10.2012, 17:49  [ТС]     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом #10
что то напутал
C++
1
2
3
4
5
6
7
8
 string ss;
 strcpy( (char*)s,ss.c_str);
      for ( int i = 0; i < strlen(s); i++)
            {if(!isupper(ss[i])) //если буква большая
 
            ss.erase(i,1); //удаляем
            }
             std::cout << ss << std::endl; //выводим
Yandex
Объявления
11.10.2012, 17:49     Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом
Ответ Создать тему
Опции темы

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