Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2017, 01:57   #1
Veronika_de
Пользователь
 
Регистрация: 22.02.2016
Сообщений: 36
Вопрос C++ наибольшее число подряд идущих элементов

Задача вроде не сложная, но что-то не так. HELP! Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу.
Формат входных данных
Вводится последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).
Формат выходных данных
Выведите ответ на задачу.
Sample Input:
1
7
7
9
1
0
Sample Output:
2

Код:
#include <iostream>
using namespace std;
int main() {
    int a, now;
    int i = 1;
    cin >> now;
    while (now != 0) {
        a = now;
        cin >> now;
        if (now == 0)
        {
            break;
        }
        else if (now == a) {
            i++;
        }
        else if (now < a) {
            i = 1;
        }
        else if (now > a) {
            a = now;
            i = 1;
        }
    }
    if (i >= 2) {
        cout << i;
    }
    else { return -1; }
}

Последний раз редактировалось Вадим Мошев; 03.01.2017 в 11:06.
Veronika_de вне форума Ответить с цитированием
Старый 03.01.2017, 03:43   #2
Veronika_de
Пользователь
 
Регистрация: 22.02.2016
Сообщений: 36
Радость

Решила уже сама

Код:
#include <iostream>
using namespace std;
int main() {
	int a, b;
	int max = 1;
	int i = 1;
	cin >> a;
	cin >> b;
	while (b != 0) {
		if (a == b) {
			i++;
		}
		else if (a != b) {
			if (i > max) {
				max = i;
				i = 1;
			}
			else {
				i = 1;
			}
		}
			a = b;
			cin >> b;
		
	}
		if (max > i) {
			cout << max;
		}
		else { cout << i; }
		
		return 0;
	
}
Veronika_de вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти наибольшее количество идущих подряд одинаковых символов KNIGT Помощь студентам 4 20.11.2014 14:28
Pascal.Подсчитать наибольшее количество идущих подряд пробелов. esa1 Помощь студентам 0 30.05.2013 17:22
наибольшее количество идущих подряд цифр Alexandr- Помощь студентам 1 11.03.2013 23:02
Пусть дан текст. Найдите наибольшее количество цифр, идущих подряд. abakuz Помощь студентам 5 28.05.2011 17:08
Упорядочить строки в StringGrid по характеристике: наибольшее количество идущих подряд нулей (Delphi) Bizikov Помощь студентам 0 26.05.2011 18:54