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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Boy...
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 17
#1

Напечатать все слова, которые состоят из тех же букв что и последнее слово текста - C++

08.02.2012, 20:59. Просмотров 1170. Ответов 6
Метки нет (Все метки)

Прог на c++

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

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

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

Напечатать те слова, которые состоят из всех букв, что и слово "red" - C++
Напечатать те слова, которые состоят из всех букв, что и слово "red". Повторения допускаются. Слово находится в файле red.txt. #include...

Напечатать слова, которые состоят из первых и последних букв (но не цифр) всех слов текста - C++
вот мои попытки, Напечатать слова, которые состоят из первых и последних букв (но не цифр) всех слов текста #include <iostream> ...

Напечатать все слова заданного предложения, состоящие из тех же букв, что и первое слово предложения - C++
Напечатать все слова заданного предложения (слова разделены пробелами), состоящие из тех же букв, что и первое слово предложения.

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

Вычислить количество слов анаграмм (Слова которые состоят из одних и тех же букв) - C++
Дано предложение, необходимо посчитать количество анаграмм в этом предложении. Пример: Ввод: abc cba two abcc. Вывод: 2. (это...

6
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
08.02.2012, 21:37 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <sstream>
 
int main()
{
    std::string str;
    getline(std::cin, str);
    size_t p = str.find_last_not_of(" .");
    char key = str[p];
    std::istringstream ss(str);
    while(ss)
    {
        std::string temp;
        ss >> temp;
        if(temp[temp.size() - 1] == key)
            std::cout << temp << " ";
    }
    return 0;
}
1
isaak
103 / 40 / 9
Регистрация: 17.10.2010
Сообщений: 670
08.02.2012, 22:08 #3
Mayonez у меня почему то программа выскакивает с ошибкой почему? Заранее огромное спасибо.
0
Миниатюры
Напечатать все слова, которые состоят из тех же букв что и последнее слово текста  
remarkes
303 / 226 / 13
Регистрация: 01.07.2011
Сообщений: 809
Записей в блоге: 1
08.02.2012, 22:29 #4
out of range - строка выходит за пределы диапазона.
0
Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
08.02.2012, 22:39 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Mayonez, какой-то странный вывод программы:
Код
123 456 1w2 5hb 12w yg12w 211w2212w 21w.
12w yg12w 211w2212w
yg12w - не должен быть в выводе, а 1w2 должен быть.

Как я понял, если текст заканчивается на abc123., то учитываем только 6 символов abc123, т.е. точку в рапсчет не берем. А также - если встретится слово aa11bb2233cc - то мы его учитываем, так как оно состоит из тех же символов, что и последнее слово. А слово abc1234 уже не учитываем, так как оно состоит еще и из других символов.
Вот мой вариант:
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 <sstream>
 
using namespace std;
 
int main() {
    cout << "Введите строку" << endl;
 
    string src; // исходный текст
    getline( cin, src );
    src.erase( src.size()  -1, 1); //удалим точку в конце
    string set_of_chars( src, src.find_last_of( ' ' ) + 1 );
    stringstream strm( src ); // связываем поток с исходной строкой
 
    string word;
    while( strm >> word )
        // если в слове только те буквы, которые в последнем слове,то печатем его
        if( word.find_last_not_of( set_of_chars ) == string::npos )
            cout << word << endl;
 
    return 0;
}
Boy... - лучше всегда давать примеры желаемых результатов работы кода, т.е. что имеем на входе и что получаем на выходе. Ведь не совсем понятно, то произвольная последовательность символов, то букв.
1
Boy...
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 17
08.02.2012, 23:27  [ТС] #6
Я извиняюсь, у меня такой непонятный пример. но это моя курсовая работа по информатики.

Добавлено через 3 минуты
Спасибо огромное!!!
0
Roof
09.02.2012, 00:45     Напечатать все слова, которые состоят из тех же букв что и последнее слово текста
  #7

Не по теме:

Вряд ли это можно назвать курсовой.
Это для студентов, у которых информатика не профилирующий предмет - может быть как лабораторная работа.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2012, 00:45
Привет! Вот еще темы с ответами:

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

Удалить из текста все слова, которые начинаются с букв, заданных в строке запроса - C++
Пытался сам написать,но выдает ошибку.Как правильно должен выглядеть код?Заранее спасибо. #include&lt;iostream&gt; #include&lt;stdio.h&gt; ...

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

Распечатать введенное предложение, удалив из него слова, которые состоят менее чем из трех букв - C++
Распечатать введенное предложение , удалив из него слова , которые состоят менее чем из трех букв .


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

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

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