Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
1

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

03.10.2012, 16:06. Просмотров 1046. Ответов 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;
}
Разобрался только для палиндрома...а вот как исключить прописные не знаю...подскажите
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 16:06
Ответы с готовыми решениями:

Дано слово, состоящее только из строчных латинских букв. Проверьте, является ли это слово палиндромом.
Дано слово, состоящее только из строчных латинских букв. Проверьте, является ...

Подсчитать, сколько было введено: латинских прописных букв, кириллических прописных букв, цифр, знаков переноса, прочих символов.
Помогите, пожалуйста, написать программу :scratch: Подсчитать, сколько было...

Проверить, является ли число палиндромом
Водится шестнадцатеричное число. Проверить является ли оно палиндромом, то есть...

Проверить, является ли строка палиндромом
доброго времени суток. помогите пожалуйста. надо реализовать программу......

Проверить является ли строка палиндромом
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг...

9
David Sylva
1296 / 958 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
03.10.2012, 16:58 2
isupper http://www.cplusplus.com/reference/clibrary/cctype/isupper/
1
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;
}
0
David Sylva
1296 / 958 / 267
Регистрация: 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;
}
1
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
04.10.2012, 11:16  [ТС] 5
Все разобрался..
0
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 выдает ошибку
0
David Sylva
1296 / 958 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
11.10.2012, 17:10 7
erase не получится использовать с типом char.
0
nikola_omsk
3 / 3 / 0
Регистрация: 27.05.2011
Сообщений: 73
11.10.2012, 17:14  [ТС] 8
а что можно придумать
0
David Sylva
1296 / 958 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
11.10.2012, 17:25 9
Либо не использовать erase, либо переводить char в стринг
1
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; //выводим
0
11.10.2012, 17:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2012, 17:49

Проверить, является ли строка палиндромом
Возможно я не первый кто просит помочь в данной задачи, но все же повторюсь....

Проверить является ли слово палиндромом
Символьная строка содержит одно слово. Проверить, будет ли оно читаться...

Проверить, является ли число палиндромом (do/while)
Проверить, будет ли введенное число палиндромом (например, палиндромом 1254521...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru