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

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

Войти
Регистрация
Восстановить пароль
 
Aleksandr852
0 / 0 / 0
Регистрация: 10.04.2013
Сообщений: 14
#1

Дана строка, слова в которой разделены пробелами. Оставьте в ней только те слова, которые начинаются на ту же букву, что и первое слово. - C++

10.04.2013, 14:14. Просмотров 781. Ответов 11
Метки нет (Все метки)

5.17 Дана строка, слова в которой разделены пробелами. Оставьте в ней только те слова, которые начинаются на ту же букву, что и первое слово.
Например:
S = «С началом второй мировой войны правительства разных стран начали разрабатывать вычислительные машины, осознавая их стратегическую роль в ведении войны».
Ответ: «С стран стратегическую».
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2013, 14:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана строка, слова в которой разделены пробелами. Оставьте в ней только те слова, которые начинаются на ту же букву, что и первое слово. (C++):

Дана строка текста, в которой слова разделены пробелами и запятыми, вывести повторяющиеся слова - C++
Помогите пожалуйста! Как мне найти и вывести повторяющиеся слова? П.С. При работе со строками не использовать указатели. Строки...

Дана строка текста, в которой слова разделены пробелами. - C++
Доброго времени суток ! Дана лаба: Дана строка текста, в которой слова разделены пробелами. Необходимо: -...

Дана строка текста, в которой слова разделены символами "#" и пробелами - C++
Дана строка текста, в которой слова разделены символами "#" и пробелами. Необходимо: а) Определить колличество слов в строке и вывести на...

Строка, слова в которой разделены пробелами - C++
1) слова в строке разделены пробелами. найти самое длинное слово 2) слова в строке разделены последовательностями пробелов. удалить...

Дана строка. Найте в ней те слова, которые начинаются и оканчиваются одной и той же буквой - C++
Дана строка. Найте в ней те слова, которые начинаются и оканчиваются одной и той же буквой. В С++, люди добрые помогите, с помощью простых...

Дана строка. Найти в ней те слова, которые начинаются и заканчиваются одной и той же буквой - C++
#include <stdio.h> #include <string.h> int main() { char str = "Сегодня состоялось мероприятие, было весело, особенно...

11
-=ЮрА=-
Заблокирован
Автор FAQ
10.04.2013, 14:34 #2
Aleksandr852, держи
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
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
 
int main()
{
    char fstchr = 0;//ïåðâГ*Гї ГЎГіГЄГўГ* Гў 1-Г¬ ñëîâå
    string word ="";//ГІГҐГЄГіГ№ГҐГҐ ñëîâî
    //Ââîä äåëГ*Г© ëþáîé Гї ÷òîáû Г±ГЅГЄГ®Г*îìèòü âðåìÿ Г±Г°Г*çó ГўГЎГЁГ« ëèòåðГ*Г«
    string text = "This is the test of program";
    cout<<"Input : "<<text<<endl;
    stringstream ss;
    ss.str(text);
    text = "";//î÷èñòèëè ГЎГіГґГҐГ° ГІГҐГЄГ±ГІГ*
    while(ss>>word)
    {
        if(!fstchr)
            fstchr = tolower(word[0]);
        //ГЋГЎГїГ§Г*òåëüГ*Г® Г±Г°Г*ГўГ*ГЁГўГ*ГҐГ¬ ГЎГіГЄГўГ» Гў 1-Г¬ ðåãèñòðå
        if(fstchr == tolower(word[0]))
            text += (word + " ");
    }
    cout<<"Output: "<<text<<endl;
    cin.get();
    return 0;
}
2
Миниатюры
Дана строка, слова в которой разделены пробелами. Оставьте в ней только те слова, которые начинаются на ту же букву, что и первое слово.  
-=ЮрА=-
10.04.2013, 14:37
  #3

Не по теме:

PS:Руссификация делается через setlocale(LC_ALL, "RUS") в самом начале мєйна, я не стал приводить, т.к не знаю компилятор под который будем пытаться руссифицировать, так что привёл код в стандарте С++ http://codepad.org/zPUKjOrR

0
isaak
103 / 40 / 9
Регистрация: 17.10.2010
Сообщений: 670
10.04.2013, 21:54 #4
-=ЮрА=- подскажи пожалуйста как сделать, чтобы можно было вводить текст с клавиатуры????????? Заранее огромное спасибо.
0
-=ЮрА=-
Заблокирован
Автор FAQ
10.04.2013, 22:00 #5
Цитата Сообщение от isaak Посмотреть сообщение
-=ЮрА=- подскажи пожалуйста как сделать, чтобы можно было вводить текст с клавиатуры????????? Заранее огромное спасибо.
- для последних версий студии вот так
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
string word ="";//текущее слово
* * //Вот и все изменения
* * string text = "";
cout<<"Enter text : ";cin>>text;

* * cout<<"Input : "<<text<<endl;
0
isaak
103 / 40 / 9
Регистрация: 17.10.2010
Сообщений: 670
10.04.2013, 22:27 #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
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
 
int main()
{
    setlocale( LC_ALL,"Russian" );
    char fstchr = 0;//первая буква в 1-м слове
    string word ="";//текущее слово
    //Ввод делай любой я чтобы сэкономить время сразу вбил литерал
    string text = "";
    cout<<"Введите текст";
    cin>>text;
    cout<<"Ввод : "<<text<<endl;
    stringstream ss;
    ss.str(text);
    text = "";//очистили буфер текста
    while(ss>>word)
    {
        if(!fstchr)
            fstchr = tolower(word[0]);
        //Обязательно сравниваем буквы в 1-м регистре
        if(fstchr == tolower(word[0]))
            text += (word + " ");
    }
    cout<<"Output: "<<text<<endl;
    cin.get();
return 0;
}
Заранее огромное спасибо!!!!!
1
-=ЮрА=-
Заблокирован
Автор FAQ
10.04.2013, 22:41 #7
isaak, что именно не работает?
0
isaak
103 / 40 / 9
Регистрация: 17.10.2010
Сообщений: 670
10.04.2013, 23:06 #8
-=ЮрА=- у меня программа не правильно работает, она должна выводить слова в которых совпадает первая буква, а у меня выводит одно слово?????? Заранее огромное спасибо!!!!!!
0
Миниатюры
Дана строка, слова в которой разделены пробелами. Оставьте в ней только те слова, которые начинаются на ту же букву, что и первое слово.  
-=ЮрА=-
Заблокирован
Автор FAQ
10.04.2013, 23:13 #9
Цитата Сообщение от isaak Посмотреть сообщение
cout<<"Введите текст";
* * cin>>text;
isaak, да вижу. Я пропустил что ввод стринги завершается на пробеле, вобщем вместо cin надо
getline(cin, text);

C++
1
2
cout<<"Введите текст";
getline(cin, text);
1
isaak
103 / 40 / 9
Регистрация: 17.10.2010
Сообщений: 670
10.04.2013, 23:20 #10
Спасибо -=ЮрА=- все заработало!!!!!
0
cygwin
1 / 1 / 0
Регистрация: 10.04.2013
Сообщений: 17
11.04.2013, 00:47 #11
А можно и так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cstring>
#include <regex>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian_Russia.1251");
 
    string str("С началом второй мировой войны правительства разных стран начали разрабатывать вычислительные машины, осознавая их стратегическую роль в ведении войны");
 
    string exp = "(^| )[^";
    exp +=  toupper(str[0]);
    exp +=  tolower(str[0]);
    exp +=  "][^ ]*";
 
    string s = regex_replace(str, regex(exp), string(""));
 
    printf("%s\n", s.c_str());
 
    return 0;
}
>>С стран стратегическую
0
-=ЮрА=-
Заблокирован
Автор FAQ
11.04.2013, 02:28 #12
cygwin, лучше не юзать имена стандлартных функций из cmath для переменных
Цитата Сообщение от cygwin Посмотреть сообщение
string exp
Цитата Сообщение от cygwin Посмотреть сообщение
printf("%s\n", s.c_str());
- Си и С++ совмещать не следует,
а в целом да можно поюзать и regex_replace c пометкой С11+ (не все компиляторы поддерживают пока что)
1
11.04.2013, 02:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2013, 02:28
Привет! Вот еще темы с ответами:

Дана строка, в которой слова разделены одним пробелом. Найдите и выведите все слова указанной длины - C++
В итоге вышло, что если первое слово правильной длинны - выводит все слова в строке. Если нет - ничего не выводит. int main() { char...

Дана строка символов, состоящая из произвольного текста, слова разделены пробелами - C++
Дана строка символов, состоящая из произвольного текста, слова разделены пробелами. Вывести на экран порядковый номер слова ...

Дана строка слов котором разделены пробелами все слова в строке перевернуть на c++ - C++
Дана строка слов котором разделены пробелами все слова в строке перевернуть на c++

Вывести слова, которые начинаются на ту же букву, на которую заканчивается предыдущее слово - C++
Пожалуйста помогите сделать эти задания!буду очень благодарен!!!!!!Заранее огромное спасибо! Задание1: Дана матрица F(6,5)....


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

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

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