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

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

Войти
Регистрация
Восстановить пароль
 
Temoffey
20 / 40 / 0
Регистрация: 21.11.2010
Сообщений: 96
#1

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

20.05.2011, 00:01. Просмотров 702. Ответов 7
Метки нет (Все метки)

Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2011, 00:01     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке.
Посмотрите здесь:
Ввести строку и слово. Вывести порядковые номера слов в строке,совпадающих с введенным словом C++
C++ Подсчитать количество слов, которые не совпадают с данными
Подсчитать количество слов, которые не совпадают с данными C++
C++ Подсчитать количество слов, которые начинаются с той же буквы, что и последующее слово
Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова. C++
Ввести строку и слово. Вывести количество слов в строке, имеющих длину, равную длине введенного слова. C++
C++ Ввести строку и слово. Вывести те слова, которые не содержат букв, входящих в слово.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
20.05.2011, 00:11     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке. #2
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
#include <iostream>
#include <algorithm>
#include <string>
 
int Number_Words (std::string first, std::string _Word)
{
 
    std::string your_word = _Word;
 
    reverse(_Word.begin(), _Word.end());
    std::string str = first + " " + _Word + " ";
 
 
    int count_words = -1;
 
    while (!str.empty())
    {
        if (str.find(" " + _Word + " ") < str.length())
            count_words++;
        str.erase(0, str.find(_Word) + _Word.length());
    }
    return count_words;
}
 
int main ()
{
    std::string main_string = "qwerty uiop asdfgh zxcvb qwerty";
    std::string your_string;
 
    std::cout << "Enter your string [> ";
    std::getline(std::cin, your_string);
 
    std::cout << Number_Words(main_string, your_string) << std::endl;
 
    std::cin.get();
    return 0;
}
Temoffey
20 / 40 / 0
Регистрация: 21.11.2010
Сообщений: 96
20.05.2011, 00:12  [ТС]     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке. #3
Ну блин опять на С++, а под СИ нельзя переделать???
Причём выводит она только '0'...
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
20.05.2011, 00:14     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке. #4
Вы не указали, какой язык... В си я не мастер, так что лучше не буду браться, чтобы не писать чушь!
Temoffey
20 / 40 / 0
Регистрация: 21.11.2010
Сообщений: 96
20.05.2011, 00:17  [ТС]     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке. #5
Понял ну и на том спс)))
Вот только с выводом что-то не то....
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
20.05.2011, 00:25     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке. #6
Mиxaил, Что-то Вы загнули, все гораздо проще:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <algorithm>
#include <string>
#include <sstream>
#include <iterator>
 
int main ()
{
  std::string str = "qwerty uiop asdfgh zxcvb qwerty", wrd = "qwerty";
  std::istringstream ist(str);
  std::cout << std::count( (std::istream_iterator<std::string>(ist)), std::istream_iterator<std::string>(), wrd );
  std::cin.get();
  return 0;
}
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
20.05.2011, 00:32     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке. #7
что с ним?

Добавлено через 2 минуты
asics, я хотел как можно проще, но с использованием STL, чтобы человек немного разобрался! =)

Добавлено через 2 минуты
Temoffey, насколько я понял задание, слово, которое вы вводите, надо сначала перевернуть, а потом искать его (перевернутое слово) вхождения в заданную строку...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2011, 00:50     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке.
Еще ссылки по теме:
Ввести строку и слово. Вывести те слова, которые не содержат букв, входящих в слово (через <stdio.h>) C++
C++ Стеки- Ввести строку и вывести его в обратном порядке
Ввести строку из нескольких слов и найти в ней заданное слово C++

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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
20.05.2011, 00:50     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке. #8
Да да, я в своем коде, как раз, забыл реверснуть слово.
Yandex
Объявления
20.05.2011, 00:50     Ввести строку и слово. Подсчитать количество слов, которые совпадают с введенным, прочитанным в обратном порядке.
Ответ Создать тему
Опции темы

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