Loading...
Ordnata avatar Ordnata 7 Точки

Lists - Exercises / 05. Array Manipulator

Test #11 (Runtime error)

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _05.Array_Manipulator
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> list = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
            while (true)
            {
                List<string> command = Console.ReadLine().Split(' ').ToList();

                switch (command[0])
                {
                    case "print":
                        Console.WriteLine("["+String.Join(", ",list)+"]");
                        return;

                    case "add":
                        int index = int.Parse(command[1]);
                        int element = int.Parse(command[2]);
                        list.Insert(index,element);
                        break;

                    case "addMany":

                        for (int i = 0; i < command.Count-2; i++)
                        {
                            list.Insert(int.Parse(command[1]) + i, int.Parse(command[i + 2]));
                        }
                        break;

                    case "contains":
                        Console.WriteLine(list.IndexOf(int.Parse(command[1])));
                        break;

                    case "remove":
                        list.RemoveAt(int.Parse(command[1]));
                        break;

                    case "shift":
                        int position = int.Parse(command[1]);
                        for (int i = 0; i < position; i++)
                        {
                            list.Add(list[0]);
                            list.RemoveAt(0);
                        }
                        break;

                    case "sumPairs":
                        for (int i = 0; i < list.Count; i++)
                        {
                            int currSum = list[i]+list[i+1];
                            list.RemoveAt(i+1);
                            list.RemoveAt(i);
                            list.Insert(i,currSum);
                        }
                        break;
                }

            }

        }
    }
}

 

Тагове:
-1
Fundamentals Module
aggeorgiev avatar aggeorgiev 326 Точки

Забелязах , че нямаш default в switch-a , но това неможе да е причина да не се компилира (хубаво е обаче да го има).

П.П. Пускай код над 10-15 реда в pastebin (някой вече те е "нахейтил" за дългия код в поста)

0
15/06/2017 20:02:58
sevgin0954 avatar sevgin0954 557 Точки

При сумирането на нечетен брой числа гърми 

0
15/06/2017 20:44:23
NikolayDanev avatar NikolayDanev 5 Точки

При случая на "shift", ако подам поредица от числа по-голяма от самия масив ще гръмне. Може да се оправи като самото число деление по модул дължината на масива. Вероятно си го оправил, но все пак.

0
vpaleshnikov avatar vpaleshnikov 23 Точки

Моето решение.

Може и по-кратко, но това от мен :)

https://github.com/vpaleshnikov/Lists-Exercises/tree/master/05.ArrayManipulator

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