Loading...
sotirova.yulia avatar sotirova.yulia 7 Точки

Lists - Lab, 01. Sum Adjacent Equal Numbers , C#

Здравейте, колеги! От известно време се мъча над тази задача и така и не разбрах къде греша. Ще съм благодарна, ако някой ми помогне. Това е моето решение: https://pastebin.com/tsPPiXRF

 

И това е условието.

 

1.   Sum Adjacent Equal Numbers

Create a program to sum all of the adjacent equal numbers in a list of decimal numbers, starting from left to right.

  • After two numbers are summed, the result could be equal to some of its neighbors and should be summed as well (see the examples below)
  • Always sum the leftmost two equal neighbors (if several couples of equal neighbors are available)

Examples

Input

Output

Explanation

3 3 6 1

12 1

3 3 6 1 à 6 6 1 à 12 1

8 2 2 4 8 16

16 8 16

8 2 2 4 8 16 à 8 4 4 8 16 à 8 8 8 16 à 16 8 16

5 4 2 1 1 4

5 8 4

5 4 2 1 1 4 à 5 4 2 2 4 à 5 4 4 4 à 5 8 4

 

 

 

Тагове:
0
Fundamentals Module
Axiomatik avatar Axiomatik 2422 Точки
Best Answer

;-)

 

using System;
using System.Collections.Generic;
using System.Linq;

namespace SumAdjacentEqualNumbers
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // double required,
            // decimal will give wrong result: 3.5 3.5 7 => 14.0
            List<double> numbers = Console.ReadLine()
                .Split(' ')
                .Select(double.Parse)
                .ToList();

            for (int i = 0; i < numbers.Count - 1; i++)
            {
                if (numbers[i] == numbers[i + 1])
                {
                    numbers[i] += numbers[i + 1];
                    numbers.RemoveAt(i + 1);
                    i = -1;
                }

            }
            Console.WriteLine(String.Join(" ", numbers));
        }
    }
}

 

0
sotirova.yulia avatar sotirova.yulia 7 Точки

В началото пробвах с "double". Но видях че имам грешка и във for цикъла. Много благодаря!

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