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

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

Войти
Регистрация
Восстановить пароль
 
metagalaxy
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
#1

простая строка + цикл - C++

19.05.2012, 14:32. Просмотров 481. Ответов 5
Метки нет (Все метки)

Напишите программу, которая читает последовательность строковых значений со стандартного устройства ввода до тех пор, пока не встретится повторяющееся слово или пока ввод слов не будет закончен. Для чтения текста по одному слову используйте цикл while. Для выхода из цикла при встрече двух совпадающих слов подряд используйте оператор break. Выведите повторяющееся слово, если оно есть, а в противном случае отобразите сообщение, свидетельствующее о том, что повторяющихся слов нет.

Я все в принципе представляю, а вот как это объединить хз.

Добавлено через 17 часов 24 минуты
Читать последовательность строковых значений со стандартного устройства с помощью getline()?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2012, 14:32     простая строка + цикл
Посмотрите здесь:

Цикл с параметром и цикл с условием C++
C++ Цикл for/Цикл while Помогите срочно пожалуйста...
простая задача на цикл C++
дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры. C++
Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа н C++
C++ Цикл: цикл for вообще никак не воспринимается транслятором
C++ Почему цикл на при 1 уходит в бесконечный цикл?
Дана строка символов. Проверьте,является ли данная строка палиндромом C++
Даны строка S, символ C и строка S0. Необходимо после каждого вхождения символа C в строку S вставить строку S0 C++
Задание на цикл с параметром и цикл с постусловием C++
C++ Дана строка. Подсчитать сколько раз первая строка входит во вторую
Почему строка, считанная из файла и такая же строка в программе не равны, хотя они, вроде бы, одинаковы? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
19.05.2012, 18:49     простая строка + цикл #2
это если слово равно предыдущему
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
 
int main()
{
    std::string tmp, last;
    bool b = true;
    std::cin>> last;
    while(std::cin>> tmp)
    {
        if (tmp == last)
        {
            std::cout<< tmp;
            b = false;
            break;
        }
        last = tmp;
    }
    if(b) std::cout<< "No duplicate words";
    return 0;
}
а это, если встретилось слово, которое уже было (неважно где)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <vector>
 
int main()
{
    std::vector <std::string> v;
    std::string tmp;
    bool b = true;
    while(std::cin>> tmp)
    {
        if (std::find(v.begin(), v.end(), tmp) != v.end())
        {
            std::cout<< tmp;
            b = false;
            break;
        }
        v.push_back(tmp);
    }
    if(b) std::cout<< "No duplicate words";
    return 0;
}
metagalaxy
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
19.05.2012, 20:54  [ТС]     простая строка + цикл #3
Цитата Сообщение от MrGluck Посмотреть сообщение
if (std::find(v.begin(), v.end(), tmp) != v.end())
А что за функция такая find()?
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
19.05.2012, 21:06     простая строка + цикл #4
Цитата Сообщение от metagalaxy Посмотреть сообщение
А что за функция такая find()?
http://cplusplus.com/reference/algorithm/find/
metagalaxy
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
20.05.2012, 21:18  [ТС]     простая строка + цикл #5
Цитата Сообщение от MrGluck Посмотреть сообщение
Кстати, зачем вообще переменную bool b = true использовать, если можно было бы просто в условном операторе if вписать if(true), вместо if(b)?
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
21.05.2012, 00:02     простая строка + цикл #6
Цитата Сообщение от metagalaxy Посмотреть сообщение
Кстати, зачем вообще переменную bool b = true использовать, если можно было бы просто в условном операторе if вписать if(true), вместо if(b)?
Потому что оно должно выводить No dublicate words только если мы вышли из цикла сами (Ctrl + Z)
Yandex
Объявления
21.05.2012, 00:02     простая строка + цикл
Ответ Создать тему
Опции темы

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