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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Boy...
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 17
08.02.2012, 20:59     Напечатать все слова, которые состоят из тех же букв что и последнее слово текста #1
Прог на c++

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

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

C++ Перечислить все слова заданного предложения, которые состоят из тех же букв что и первое
Перечислить слова, которые состоят из тех же букв C++
C++ Напечатать те слова, которые состоят из всех букв, что и слово "red"
Записать строку из слов, которые состоят из букв первого слова строки C++
C++ Распечатать введенное предложение, удалив из него слова, которые состоят менее чем из трех букв
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 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;
}
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
08.02.2012, 22:08     Напечатать все слова, которые состоят из тех же букв что и последнее слово текста #3
Mayonez у меня почему то программа выскакивает с ошибкой почему? Заранее огромное спасибо.
Миниатюры
Напечатать все слова, которые состоят из тех же букв что и последнее слово текста  
remarkes
300 / 223 / 13
Регистрация: 01.07.2011
Сообщений: 809
Записей в блоге: 1
08.02.2012, 22:29     Напечатать все слова, которые состоят из тех же букв что и последнее слово текста #4
out of range - строка выходит за пределы диапазона.
Roof
 Аватар для 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... - лучше всегда давать примеры желаемых результатов работы кода, т.е. что имеем на входе и что получаем на выходе. Ведь не совсем понятно, то произвольная последовательность символов, то букв.
Boy...
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 17
08.02.2012, 23:27  [ТС]     Напечатать все слова, которые состоят из тех же букв что и последнее слово текста #6
Я извиняюсь, у меня такой непонятный пример. но это моя курсовая работа по информатики.

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

Не по теме:

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

Yandex
Объявления
09.02.2012, 00:45     Напечатать все слова, которые состоят из тех же букв что и последнее слово текста
Ответ Создать тему
Опции темы

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