Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Dimitaradev avatar Dimitaradev 3 Точки

Stack Sum

using System;
using System.Collections.Generic;
using System.Linq;
namespace StackSum
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] input = Console.ReadLine().Split().Select(int.Parse).ToArray();
           
            var stack = new Stack<int>(input);
            while (true)
            {
               string[] command = Console.ReadLine().ToLower().Split();

                if (command[0]=="Add")
                {
                    stack.Push(int.Parse(command[1]));
                    stack.Push(int.Parse(command[2]));
                }
                else if (command[0] == "remove")
                {
                    var countOfRemovedNums = int.Parse(command[1]);
                    if (stack.Count >= countOfRemovedNums)
                    {
                        for (int i = 0; i < countOfRemovedNums; i++)
                        {
                            if (stack.Any())
                            {
                                stack.Pop();
                            }

                        }
                    }    
                }
                else if(command[0]=="end")
                {
                    break;
                }

            }
            var sum = stack.Sum();
            Console.WriteLine($"Sum: {sum}");


        }
    }
}

Някой били ми казал каква ми е грешката в кода?

Calculate the sum in the stack

Before that you will receive commands

Add - adds the two numbers

Remove - removes count numbers

Input

Output

1 2 3 4

adD 5 6

REmove 3

eNd

Sum: 6

3 5 8 4 1 9

add 19 32

remove 10

add 89 22

remove 4

remove 3

end

Sum: 16

 

 

Тагове:
0
Programming Basics
Dimitxr avatar Dimitxr 2 Точки

for (int i = 0; i < countOfRemovedNums; i++)
                        {
                            if (stack.Any())
                            {
                                stack.Pop();
                            }
                        }

при мен проработи и без тази if проверка, не знам до колко е нужна, но дава 100/100 без нея

for (int i = 0; i < countOfRemovedNums; i++)
                        {
                            stack.Pop();
                        }

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