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

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

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

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

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

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

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

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

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

Почему цикл на при 1 уходит в бесконечный цикл? - C++
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #include <string.h> int main() { int x=0, y=0,...

Цикл: цикл for вообще никак не воспринимается транслятором - C++
Пишу программу, которая производит различные действия с одномерным массивом. Возникла следующая проблема: цикл for вообще никак не...

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

Дана строка символов. Проверьте,является ли данная строка палиндромом - C++
Парни нужна помощь,нужен код решения этой задачи на языке с++. Дана строка символов. Проверьте,является ли данная строка палиндромом.

Почему строка, считанная из файла и такая же строка в программе не равны, хотя они, вроде бы, одинаковы? - C++
Есть две строки. MSK="Москва" и from, считанная из текстовика, через getline Для проверки вывожу эти обе строки, на первый взгляд...

5
MrGluck
Модератор
Эксперт CЭксперт С++
7423 / 4538 / 673
Регистрация: 29.11.2010
Сообщений: 12,319
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;
}
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()?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7423 / 4538 / 673
Регистрация: 29.11.2010
Сообщений: 12,319
19.05.2012, 21:06 #4
Цитата Сообщение от metagalaxy Посмотреть сообщение
А что за функция такая find()?
http://cplusplus.com/reference/algorithm/find/
0
metagalaxy
7 / 7 / 2
Регистрация: 18.02.2012
Сообщений: 61
20.05.2012, 21:18  [ТС] #5
Цитата Сообщение от MrGluck Посмотреть сообщение
Кстати, зачем вообще переменную bool b = true использовать, если можно было бы просто в условном операторе if вписать if(true), вместо if(b)?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7423 / 4538 / 673
Регистрация: 29.11.2010
Сообщений: 12,319
21.05.2012, 00:02 #6
Цитата Сообщение от metagalaxy Посмотреть сообщение
Кстати, зачем вообще переменную bool b = true использовать, если можно было бы просто в условном операторе if вписать if(true), вместо if(b)?
Потому что оно должно выводить No dublicate words только если мы вышли из цикла сами (Ctrl + Z)
0
21.05.2012, 00:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2012, 00:02
Привет! Вот еще темы с ответами:

Задание на цикл с параметром и цикл с постусловием - C++
Помогите пожалуйста написать программу с этими циклами. 1. Вычислить и напечатать таблицу значений функции Z= (e^-x)sinx для 0&lt;=x&lt;=П,...

Цикл for/Цикл while Помогите срочно пожалуйста... - C++
1.Вычислить и вывести на экран в виде таблицы значения функции F от x1 до x2 с шагом dx. где a, b и c - действительные числа. 2.Цикл...

дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры. - C++
Будьте добры,помогите с решением задачи: дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка...

Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа н - C++
Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо...


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

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

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