Loading...
Losko avatar Losko 69 Точки

[Arrays and Lists - Lab] 12. Sum Adjacent Equal Numbers

  1. Read the input and parse it to list of numbers.
  2. Find the leftmost two adjacent equal cells.
  3. Replace them with their sum.
  4. Repeat (1) and (2) until no two equal adjacent cells survive.

       5.Print the processed list of numbers

Не мога да се досетя за стъпка 4..
Решението ми без стъпка 4. http://pastebin.com/rM8Y4ptt

Тагове:
0
Programming Fundamentals
Maria_ls avatar Maria_ls 383 Точки
Best Answer

Проблемът се решава с един while. Заповядай: https://dotnetfiddle.net/hRfkFe

Поправих ти и парсването на DOUBLE, защото има и дробни числа на входа.

Има и друг вариант - без да използваш for, само си декларираш преди while една променлива за индекса int индекс=0; после си работиш пак по същия начин https://dotnetfiddle.net/peKUzS

2
07/10/2016 13:44:07
Losko avatar Losko 69 Точки

Благодаря.

0
Vladix avatar Vladix 75 Точки

Здравей, 

Видях няколко грешки. Без повече приказки направо започвам:

- числата в листа трябва да ти са реални(double) 

- метода RemoveAt приема int и премахва на тази позиция елемента - ти му даваш от листа на индекс "numbers[i + 1]" елемента, трябва да е просто "i + 1" 

- след като си премахнал елемента е добре да започнеш цикала от начало за да провериш отново за еднакви елементи. Аз сетвам i-то => i = -1, защото след това отива в ъпдейта на for-а и го прави 0

кодчето 

 

0
07/10/2016 13:48:35
pecbr avatar pecbr 4 Точки

Ето моя вариант, дано е от помощ :)

http://pastebin.com/Tr2e5T91

1
q4h7tg6m avatar q4h7tg6m 1 Точки

Ето го моя вариант: https://dotnetfiddle.net/. Всеки път когато открия две "Adjacent equal cells", сумирам и Replace-вам дясното, лявото Remove-вам и започвам да обхождам списъка от НУЛА (i=0). Късмет!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.