02. Longest Sequence
#include <iostream>
#include <array>
using namespace std;
int main()
{
int numbers;
cin >> numbers;
array<int, 100> nums = {0};
int current = 0;
int counter = 0;
int mostUsed;
for(int i = 0; i < numbers; i++)
{
cin >> nums[i];
if(nums[0] == nums[1] || nums[2] == nums[3] || nums[4] == nums[5] || nums[i] == current)
{
mostUsed = current;
counter++;
}
current = nums[i];
}
cout << mostUsed << " " << mostUsed << endl;
return 0;
}
Нещо ми се губи логиката. Judge дава 20/100. Output-a в условието е грешно. Judge иска поредицата от числа да бъде изпринтирана, а не колко на брой пъти числото се повтаря, както пише в output-a на условието. Но все пак не успявам да я реша правилно. Гледам че и 4та задача е на този принцип със сравняване на числата. Ideas? :/
Благодаря за линка. Пробвах по начина който ми каза и пак нещо нестава. Не съм сигурен как да запаметя цялата поредица вместо самото число. Стигнах до тук и ми свършиха идеите.
Здравейте! Ще отбележа следните неща:
1. По-добре да си смениш името на променливата "numbers" с име съответсващо на това, което пази - в случая броя елементи - numbersCount, arrayActualSize...
2. Първо си прочени елементите и ги напълни в масива, както ти препоръчва колежката.
3. Вариант за решение на задачата е с два вложени цикла, като в основния вземаш даденото число
int currentNumber = arr[i];
а във вложения проверяваш едно по ено всяко от числала в масива дали са равни на това число.
4. Извършваш съответните проверки в началото и вкрая на основния цикъл, за актуализация ако намериш ново число с по-голям брой и т.н.
5. Помисли и за това как да въртиш циклите, дали да намаляш или увеличаваш индексите.
6. След като намериш търсеното число, го принтираш толкова на брой пъти колкото си преброил, че се е повторило.
Поздрави!