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

Не выводится последняя введенная группа чисел - C++

Восстановить пароль Регистрация
 
pelmeshki
0 / 0 / 0
Регистрация: 17.07.2015
Сообщений: 11
21.07.2015, 17:28     Не выводится последняя введенная группа чисел #1
По идее, если вводишь в программу, например, 10 10 10 10 45 45 69 69 69 69 69, она должна выдать
10 повторяется 4 раза
45 повторяется 2 раза
69 повторяется 5 раз,
но тут получается, что она выводит только 10 и 45, а последнее значение не выводит.
Если после нажатия на ENTER ввести еще какие-нибудь значения, например 12 12 12, то она выведет
69 повторяется 5 раз.
Подскажите, где ошибка?

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
#include <iostream>
#include <clocale>
 
 
int main()
{
    setlocale(LC_CTYPE, "rus");
    int a = 0, b = 0;
    if (std::cin >> a) // если есть ввод ( переменная "а")      
    {
        int n = 1; // начинаем счет с 1
        while (std::cin >> b) // если есть второй ввод
            if (b == a) // сравниваем с первым
            ++n; // если 2 ввода равны, прибавляем к счету +1   
            else
            {
                std::cout << a << " повторяется " << n << " раз " << std::endl;
                a = b; // запомнить новое значение
                n = 1; // сбросить счетчик
            }
    }
 
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2015, 17:28     Не выводится последняя введенная группа чисел
Посмотрите здесь:

C++ является ли введенная строка восьмеричным числом
Вводятся числа a и b. Найти количество чисел в диапазоне [a;b], у которых последняя цифра равна 7. C++
Если обе строки хранят целые числа, то выводится сумма чисел, в противном случае – конкатенация строк C++
Является ли введенная последовательность возрастающей C++
создать одномерный массив из восьми чисел, а каждое второе должно выводится на экран. C++
C++ Rand() в Win 7 64 bit. Выводится одна и та же последовательность чисел
C++ Если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение
C++ Не совпадают введенная и заданная строки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Eraston
 Аватар для Eraston
53 / 10 / 2
Регистрация: 09.09.2014
Сообщений: 123
21.07.2015, 17:45     Не выводится последняя введенная группа чисел #2
Проходите по шагам свой же код. Портодихе так, как елси бы ткест чтиали по бувакм.
Не выводит потому, что работает условие if(a==b). У вас нет псоле 69 другого числа, чтобы войти в else условия.
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
21.07.2015, 18:21     Не выводится последняя введенная группа чисел #3
C++
1
2
3
4
5
6
7
8
if (b == a) // сравниваем с первым
            ++n; // если 2 ввода равны, прибавляем к счету +1   
            else
            {
                std::cout << a << " повторяется " << n << " раз " << std::endl;
                a = b; // запомнить новое значение
                n = 1; // сбросить счетчик
            }
у тебя вывод идет только если b != a
Yandex
Объявления
21.07.2015, 18:21     Не выводится последняя введенная группа чисел
Ответ Создать тему
Опции темы

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