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

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

03.10.2012, 16:06. Просмотров 1025. Ответов 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;
}
Разобрался только для палиндрома...а вот как исключить прописные не знаю...подскажите
http://www.cyberforum.ru/cpp-beginners/thread719040.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 16:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом (C++):

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

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

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

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

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

9
David Sylva
1293 / 955 / 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 / 5
Регистрация: 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
1293 / 955 / 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 / 5
Регистрация: 27.05.2011
Сообщений: 73
04.10.2012, 11:16  [ТС] #5
Все разобрался..
0
nikola_omsk
3 / 3 / 5
Регистрация: 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
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
11.10.2012, 17:10 #7
erase не получится использовать с типом char.
0
nikola_omsk
3 / 3 / 5
Регистрация: 27.05.2011
Сообщений: 73
11.10.2012, 17:14  [ТС] #8
а что можно придумать
0
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
11.10.2012, 17:25 #9
Либо не использовать erase, либо переводить char в стринг
1
nikola_omsk
3 / 3 / 5
Регистрация: 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