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

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

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

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

03.10.2012, 16:06. Просмотров 968. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверить является ли выражение состоящее только из ПРОПИСНЫХ букв палиндромом (C++):

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

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

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

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

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

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

9
David Sylva
1288 / 950 / 51
Регистрация: 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
1288 / 950 / 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;
}
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
1288 / 950 / 51
Регистрация: 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
1288 / 950 / 51
Регистрация: 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
Привет! Вот еще темы с ответами:

Проверить, является ли введенный текст палиндромом - C++
:cry:

Проверить, является ли введенная строка палиндромом - C++
Написать программу, которая проверяет, является ли введенная строка палиндро- мом &quot;А роза упала на лапу азора&quot; - выводит что не...

Проверить, действительно ли число является палиндромом - C++
Проверить истинность высказывания: «Данное четырехзначное число читается одинаково слева направо и справа налево». нужен код плз :)

Проверить является ли заданное слово палиндромом - C++
#include &lt;iostream.h&gt; int main() {char c; cout&lt;&lt;&quot;Vvedite slovo &quot;; cin&gt;&gt;c; system(&quot;pause&quot;);} Помогите, а то что то идей нету...


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

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

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