@Goddamnboy

Как узнать позицию элемента в массиве?

Задача такова: узнать максимальную последовательность цифр в массиве, и вывести эту цифру, которая повторяется.
Пример: есть массив - { 2,3,4,6,6,6,6,6,8,8 }. Вывод: "Макс. последовательность - 5. Повтряется число 6". Как найти последовательность, я понял, а как найти чилсо - нет.
int c = 0;
	int max = 0;
	int arr[] = { 2,3,4,6,6,6,6,6,8,8 };

	for (int i = 0; i < 10; i++)
	{
		if (arr[i] == arr[i + 1])
		{
			c++;
			
		}
		else
		{
			c = 0;
		}

		if (c > max)
		{
			max = c;
		}
	}
	for (int j = 0; j < 10; j++)
	{
		cout << arr[j] << ' ';
	}
	cout << endl << max + 1 ;
  • Вопрос задан
  • 316 просмотров
Решения вопроса 1
vt4a2h
@vt4a2h Куратор тега C++
Senior software engineer (C++/Qt/boost)
Добавьте ещё одну переменную под число, и изменяет её там же, где max. Что-то вроде num = arr[i].
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Там где вы изменяете максимальную длину, если нашлась более длинная последовательность, можно сохранять и сам текущий символ или его позицию.
Немного подозрительно что в вашем примере 5 шестерок подряд, а вы пишете "Макс. последовательность - 4".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы