Професионална програма
Loading...
+ Нов въпрос
paveliliev90 avatar paveliliev90 74 Точки

Problem 09. Jump Around, Arrays and Methods - More Exercises

https://pastebin.com/gwaCB3g7

Моля за малко помощ(като се абстрахирате от грозното решение :D) ... Точките, които се получават с този код са 81/100. Грешката си я намерих, но не знам как да я поправя. При input "2 3 5 7 5 4 8 4" трябва да ми извади "18", но изпада в безкраен цикъл, защото IndexOf ми дава индекса на първата четворка, която среща,а мен ме интересува втората в случая (много тъпичко). Та, въпросът ми е как да взема indexOf, когато има повтарящи се елементи? Благодаря!

П.П. Ако някой ме научи как да "поствам" линк към условиe на задача, ще съм му даже по- благодарен :D

Тагове:
0
Fundamentals Module
k.sevov avatar k.sevov 1072 Точки
Best Answer

Няма нужда да минаваш през IndexOf, а директно count = count + numbers[count]. В момента от готовия индекс отиваш на стойността и после се опитваш да си го вземеш обратно, от което няма смисъл. IndexOf има различни варианти, като например да му подадеш начална стойност или направо интервал, в който да търси, а също и LastIndexOf за търсене отдясно-наляво, но за конкретния случай няма да ти свършат работа. Колкото до условията, можеш и тях да ги пускаш в Pastebin, но в повечето случаи е достатъчно името на задачата и откъде е, за да можем да си ги намерим. 

0
10/02/2018 10:01:41
paveliliev90 avatar paveliliev90 74 Точки

Благодаря за отговора 

0
inser7 avatar inser7 221 Точки

Здравей колега,

ето ти метод за намирането на индексите на еднакви елементи:

int index = input.IndexOf(number); //връща индекса на 1-вият намерен елемент,ако няма такъв,връща -1
while (index != -1)
{
   index = input.IndexOf(number, index + 1)
}

Така можеш да си запазвааш намерените индекси в някаква колекция,по твой избор.

А за 2-рия ти въпрос даваш линк към Judge - пример с твоята задача тук.

На всяко упражнение под 1-ва задача има условията.

Надявам се да съм бил полезен.

Поздрави Георги!

1
10/02/2018 10:07:49
paveliliev90 avatar paveliliev90 74 Точки

Благодаря :) ще пробвам различни решения 

0
Svetloslav avatar Svetloslav 92 Точки

Колега ето едно решение и от мен.

https://pastebin.com/5aU5crb9

0