0 / 0 / 1
Регистрация: 28.10.2013
Сообщений: 44
1

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

27.09.2014, 14:49. Показов 4906. Ответов 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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string str, slovo;
    char symbol;
    int s=0;
    string::size_type k=0, pos=0; // позиция,начиная с которой ищем символ
    string razdel=" ,.;:!?"; // будут учит. пунктуации
    cout<<"Enter string: "<<endl;
    getline(cin, str);
    cout<<"Enter symbol: "<<endl; cin>>symbol;
    k=str.find_first_of (razdel, pos); // ищет первое вхождение пунктуации и его позицию
    while(k!=string::npos) // пока номер вхождения не равен npos
    {
        slovo= str.substr(pos, k-pos);
        if (ispunct (str[k]))
            pos=k+2;
        else pos = k+1;
        if(slovo[0]==symbol) //slovo[0] это первая буква , не понимаю как выгледет последняя буква????? Собственно вот тут и загвоздка.
            cout<<slovo;
        k= str.find_first_of(razdel, pos);
    }
    return 0;
}
Буду очень благодарен.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2014, 14:49
Ответы с готовыми решениями:

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

Вывести только те слова сообщения, которые начинаются и оканчиваются на одну и ту же букву
Дано осмысленное текстовое сообщение (т.е. алфавитно-цифровая информация, разделенная пробелами и...

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

Удалите из сообщения только те русские слова, которые начинаются на гласную букву
Здравствуйте, помогите пожалуйста написать программу в С#, а то я в этом вообще ноль (( Задание:...

3
7 / 3 / 2
Регистрация: 04.11.2012
Сообщений: 218
27.09.2014, 15:04 2
Лучший ответ Сообщение было отмечено Ilot как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <conio.h>
#include <iostream>
#include <sstream>
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::string user_str;
    char symb;
    std::cout << "Your string: ";
    std::getline(std::cin, user_str);
    std::cout << "\nYour symbol: ";
    std::cin >> symb;
    std::istringstream ss(user_str);
    while (ss >> user_str){
        if ((user_str[0] == symb) && (user_str[user_str.length() - 1] == symb)) std::cout << "\n" << user_str;
    }
    _getch();
    return 0;
}
Удаление знаков пунктуации сам добавишь. И ещё следует учитывать, что заглавная буква не будет равна той же букве, но строчной.
1
0 / 0 / 1
Регистрация: 28.10.2013
Сообщений: 44
27.09.2014, 15:10  [ТС] 3
Огромное спасибо. очень выручили.
0
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 18
05.04.2015, 01:56 4
Может кто помочь с этой задачкой?
Что не так в моём коде?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "iostream"
#include "string"
using namespace std;
int main()
{ string str,slovo;
string::size_type k=0,pos=0;
cout<<"Enter str: "<<endl;
getline(cin,str);
str=str+"";
k=str.find(" ",pos);
while(k!=string::npos)
{ slovo=str.substr(pos, k-pos);
if (slovo[0]==slovo[slovo.length()-1]);
pos=k+1;
cout<<slovo<<endl;
k=str.find(" ",pos);
}
return 0;}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2015, 01:56
Помогаю со студенческими работами здесь

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

Вывести на экран все слова из файла, которые начинаются на заданную букву
Создать текстовый файл, состоящий из слов (например в редакторе «Блокнот»). Необходимо: ...

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

Создать файл, состоящий из слов. Вывести на экран все слова, которые начинаются на заданную букву
Добрый день. Это мой первый вопрос на форуме. Прошу помочь с задачкой: &quot;Создать файл, состоящий...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru