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

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

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

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

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

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

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

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

простая задача на цикл - C++
Определите сумму всех элементов последовательности, завершающейся числом 0. Числа, следующие за нулем, считывать не нужно. Вот...

Дана строка. Подсчитать сколько раз первая строка входит во вторую - C++
Дана строка. Подсчитать сколько раз первая строка входит во вторую. Например: вводим "при" (строка должна вводиться с клавиатуры, как на...

Простая очередь - C++
Здравствуйте. Мне нужно сделать циклическую очередь, я ее почти доделал но вот проблема с проверкой, она работает по кривому. Буду рад...

Простая СУБД. H*E*L*P* - C++
Вообщем БД вроде как создается, элементы добавляются только первый раз, при создании БД, потом при повторных запусках не хочет добавлять. И...

Простая программа на С++ - C++
#include<iostream> #include<ctime> #include<cstdlib> int f1(int a) { a++; return 2*a; }

Простая графика - C++
Недавно решил попробовать написать свою собственную игру на c++. С языком знаком хорошо ( Переменные, циклы, процедуры, классы, шаблоны...

Простая задачка на C++ - C++
s=sin x + sin x^2 + sin x^3 + sin x^4 + ... + sin x^n - условие, а что как с этим делать я не понимаю, т.к. нам тупо раздали задание и...

Простая задачка в СИ++ - C++
Найти колл-во цифр больше 9, у натурального числа N.:wall:

простая примерчик - C++
как с помощью ф-ции или рекурсии В С++ написать прогу На 11 делятся только те числа, у которых сумма цифр, занимающих нечётные места,...

простая арифметика - C++
дан массив и матрица 3*3,хранящая числа.например 5 7 6 4 2 5 1 9 7 первый элемент массива равен 5-7-6 второй=4-2-5 третий 1-9-7...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7000 / 4171 / 595
Регистрация: 29.11.2010
Сообщений: 11,065
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Эксперт С++
7000 / 4171 / 595
Регистрация: 29.11.2010
Сообщений: 11,065
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Эксперт С++
7000 / 4171 / 595
Регистрация: 29.11.2010
Сообщений: 11,065
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     простая строка + цикл
Ответ Создать тему
Опции темы

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