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

Удалить из строки все слова, которые начинаются на заглавную букву - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 41, средняя оценка - 4.80
I am the Law
0 / 0 / 0
Регистрация: 28.02.2010
Сообщений: 3
28.02.2010, 18:30     Удалить из строки все слова, которые начинаются на заглавную букву #1
слова в строке могут разделяться пробелами и знаками препинания,в конце "." необходимо удалить из строки все слова,которые начинаются на заглавную букву,прошу очень помочь,именно с удалением слова по харастеристике...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2010, 18:30     Удалить из строки все слова, которые начинаются на заглавную букву
Посмотрите здесь:

Удалить все слова, которые начинаются и заканчиваются за одну и ту же букву C++
Строки. Найти все слова, которые начинаются и заканчиваются одной и той же буквой. C++
Вывести из файла все слова, которые начинаются на заданную букву C++
Напечатать все слова строки, которые начинаются цифрой C++
C++ Удалить все слова в тексте, которые начинаются и заканчиваются на одну и ту же букву
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
breate
 Аватар для breate
56 / 56 / 2
Регистрация: 23.10.2009
Сообщений: 250
28.02.2010, 18:34     Удалить из строки все слова, которые начинаются на заглавную букву #2
тебе решить или подсказать?

Добавлено через 42 секунды
если второе давай полное условие
I am the Law
0 / 0 / 0
Регистрация: 28.02.2010
Сообщений: 3
28.02.2010, 18:44  [ТС]     Удалить из строки все слова, которые начинаются на заглавную букву #3
Цитата Сообщение от breate Посмотреть сообщение
тебе решить или подсказать?

Добавлено через 42 секунды
если второе давай полное условие
решить
существует строка,в которой слова могут разделяться пробелами и знаками препинания,необходимо удалить из строки все слова,которые начинаются на заглавную букву(вроде полное условие)
Вот задача наподобие,в ней из аналогичной строки выводятся все слова,которые начинаются и заканчиваются 1-й буквой.(в коде возможны мелкие ошибки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str,slovo;
int s=0;
string::size_type k=0,pos=0;
string razdel=",.:;!?";
cout<<'enter string'<<endl;
getline(cin,str);
k=str.find_first_of(razdel,pos);
while(k!=string::npos)
{slovo=str.substr(pos,k-pos);
if (ispunct(str[k])) pos=k+2;
else pos=k+1;
if(slovo[0]==slovo[slovo.length()-1]) s++;
k=str.find_first_of(razdel,pos);
}
cout<<str<<endl;
cout<<s<<endl;
return 0;}
breate
 Аватар для breate
56 / 56 / 2
Регистрация: 23.10.2009
Сообщений: 250
28.02.2010, 19:51     Удалить из строки все слова, которые начинаются на заглавную букву #4
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
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
using namespace std;
 
void main(){
char rax[]=".,;: ";
char *buf=new char[256];
cin.getline(buf,256);
char *p=buf;
while(*p)
{
    if(*p>='A'&&*p<='Z'){
        *p=' ';
        while(*p)
        {
        bool stop=false;
        p++;
        char *e=&rax[0];
        while(*e)
        {
        if(*p==*e) stop=true;
        e++;
        }
        if(!(*p))break;
        *p=' ';
        if(stop) break;
        }
    }
    else{
        while(*p)
        {
            bool stop=false;
                        char *e=&rax[0];
            while(*e)
                {
                    if(*p==*e) {*p=' ';stop=true;};
                e++;
                }
            p++;
                if(stop) break;
        }}
        //p++;
}
char *buf1=new char [256];
char *d=buf1;
p=&buf[0];
p++;
bool b;
while(*p){
    if((*(p))!=' '){*d=*p;d++;b=true;}
    if(*p==' '&&b==true){*d=' ';d++;b=false;}
    p++;
 
}
*d=0;
cout<<buf1<<endl;
delete [] buf1;
delete [] buf;
}
Добавлено через 1 минуту
собрано MSVS2008,Windows 7, дашь почту пришлю исходник
I am the Law
0 / 0 / 0
Регистрация: 28.02.2010
Сообщений: 3
28.02.2010, 20:00  [ТС]     Удалить из строки все слова, которые начинаются на заглавную букву #5
cпасиб,lemmy91@mail.ru
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
28.02.2010, 20:33     Удалить из строки все слова, которые начинаются на заглавную букву #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
#include <windows.h>
#include <stdio.h>
 
#include <ctype.h>
 
int main (){
 char stroka []= "aa WERERERR JKJKJKJ, HJHJHJHT kjhjhjjh, zjhjhjhjjhj  UUU,TTT fff,fff .";
 
 char fff;
 
 //Это строка-результат, её адрес сохраняется вобъявленной ниже переменной.
 char* rez= new char [strlen(stroka)];
 char* rez_1= rez;
 
 int i= 0;
 
 while (stroka[i]!='.') {
  if (isupper(stroka[i])) {
   while ( !ispunct(stroka[i]) && !isspace(stroka[i])){
    i++;
   }
  }
  *rez++= stroka [i++];
 }
 *rez++= '.';
 *rez= 0;
 
 //Вывод
 printf ("%s\n", rez_1);
 getchar ();
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2015, 22:38     Удалить из строки все слова, которые начинаются на заглавную букву
Еще ссылки по теме:

Вывести все слова, которые начинаются и заканчиваются на одну букву C++
Все слова строки, которые начинаются с данной буквы, отсортировать в алфавитном порядке C++
Удалить из текста все слова, которые начинаются с букв, заданных в строке запроса C++

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

Или воспользуйтесь поиском по форуму:
mikykonst
0 / 0 / 0
Регистрация: 29.10.2014
Сообщений: 70
02.05.2015, 22:38     Удалить из строки все слова, которые начинаются на заглавную букву #7
А как сделать поиск заглавной буквы в середине слова?
Yandex
Объявления
02.05.2015, 22:38     Удалить из строки все слова, которые начинаются на заглавную букву
Ответ Создать тему
Опции темы

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