Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 41, средняя оценка - 4.80
I am the Law
0 / 0 / 0
Регистрация: 28.02.2010
Сообщений: 3
#1

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

28.02.2010, 18:30. Просмотров 6341. Ответов 6
Метки нет (Все метки)

слова в строке могут разделяться пробелами и знаками препинания,в конце "." необходимо удалить из строки все слова,которые начинаются на заглавную букву,прошу очень помочь,именно с удалением слова по харастеристике...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2010, 18:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Удалить из строки все слова, которые начинаются на заглавную букву (C++):

Удалить все слова, которые начинаются и заканчиваются за одну и ту же букву
Уничтожить все слова, которые начинаются и заканчиваются за одну и ту же букву....

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

Вывести из файла все слова, которые начинаются на заданную букву
Написать программу которая читает англ. текст с файла и выводит на экран все...

Вывести все слова, которые начинаются и заканчиваются на одну букву
Задан текст заканчивающийся точкой. Вывести все слова, которые начинаются и...

Вывести из файла все слова, которые начинаются на гласную букву
Вивести из файла все слова котрые начинаются на гласную букву. Слова записаны...

Вывести только те слова из строки, которые начинаются и оканчиваются на заданную букву
Вывести только те слова сообщения, которые начинаются и оканчиваются на...

6
breate
56 / 56 / 6
Регистрация: 23.10.2009
Сообщений: 250
28.02.2010, 18:34 #2
тебе решить или подсказать?

Добавлено через 42 секунды
если второе давай полное условие
0
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;}
0
breate
56 / 56 / 6
Регистрация: 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, дашь почту пришлю исходник
2
I am the Law
0 / 0 / 0
Регистрация: 28.02.2010
Сообщений: 3
28.02.2010, 20:00  [ТС] #5
cпасиб,lemmy91@mail.ru
0
kravam
быдлокодер
1706 / 893 / 105
Регистрация: 04.06.2008
Сообщений: 5,524
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;
}
0
mikykonst
0 / 0 / 1
Регистрация: 29.10.2014
Сообщений: 86
02.05.2015, 22:38 #7
А как сделать поиск заглавной буквы в середине слова?
0
02.05.2015, 22:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2015, 22:38
Привет! Вот еще темы с решениями:

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

Работа из строками. Удалить все слова, которые начинаются с согласных букв
Здравствуйте! Помогите решить задачу: пользователь вводит строку. Нужно ее...

Удалить из текста все слова, которые начинаются с букв, заданных в строке запроса
Пытался сам написать,но выдает ошибку.Как правильно должен выглядеть...

В тексте выделить все слова, которые начинаются на букву "к"
В тексте выделить все слова, которые начинаются на букву &quot;к&quot;


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

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

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