Loading...
iGeorg1ev avatar iGeorg1ev 223 Точки
Best Answer

Здравей,

Ето го решението върху твоя код, което дава 100%: https://pastebin.com/QKcL53PR

   1. Направил съм 2 метода за Switch & Change ще видиш каква е идеята.

   2. Имаше грешка при Insert. В твоя случай се мъчиш да видиш дали картината съществува, а идеята е да ограничиш индекса, така че да е валиден. И там ще се ориентираш като видиш разликите.

Ако мога да помагам с още нещо само кажи :)

Иво

 

 

 

0
EmoBG avatar EmoBG 2 Точки

Мерси много!

0
Saikor avatar Saikor 14 Точки

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

 

https://pastebin.com/uUWNzXy6

0
Rogachev avatar Rogachev 0 Точки

Помагайте гърми здраво!!! :(

 

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

namespace midExam
{
    class Program
    {
      static  List<int> Numbers = new List<int>();

        static void Main(string[] args)
        {
             Numbers = Console.ReadLine()
               .Split(" ")
               .Select(int.Parse)
               .ToList();

            string comand = Console.ReadLine();
            while (comand != "END")
            {
                string[] comandSplitet = comand.Split();
                
                    switch (comandSplitet[0])

                {
                    case "Insert":
                        {
                            int firstNum = int.Parse(comandSplitet[1]);
                            int secNum = int.Parse(comandSplitet[2]);

                            if (firstNum<0||firstNum>=Numbers.Count)
                            {
                                break;
                            }
                            else
                            {
                            InsertFunk(firstNum, secNum);
                            
                            }
                            break;
                        }
                    case "Switch":
                        {
                            int firstNum = int.Parse(comandSplitet[1]);
                            int secNum = int.Parse(comandSplitet[2]);

                            bool cont = false;

                            for (int i = 0; i < Numbers.Count; i++)
                            {
                                if(Numbers[i]==firstNum||Numbers[i]==secNum)
                                {
                                    cont = true;
                                }
                            }
                            if(cont)
                            {
                                SwitchFunk(firstNum, secNum);
                                break;
                            }
                            else
                            {
                                break;
                            }
                            
                        }
                    case "Hide":
                        {
                            int firstNum = int.Parse(comandSplitet[1]);
                            
                            bool cont = false;
                            for (int i = 0; i < Numbers.Count; i++)
                            {
                                if(Numbers[i]==firstNum)
                                {
                                    cont = true;
                                }
                            }
                            if(cont)
                            {
                                HideFunk(firstNum);
                            }
                            else
                            {
                                break;
                            }
                            break;
                        }
                    case "Reverse":
                        {
                            for (int i = 0; i < Numbers.Count / 2; i++)
                            {
                                int tmp = Numbers[i];
                                Numbers[i] = Numbers[Numbers.Count - i - 1];
                                Numbers[Numbers.Count - i - 1] = tmp;
                            }
                           
                            break;
                        }
                    case "Change":
                        {
                            int firstNum = int.Parse(comandSplitet[1]);
                            int secNum = int.Parse(comandSplitet[2]);

                            bool cont = false;

                            for (int i = 0; i < Numbers.Count; i++)
                            {
                                if (Numbers[i] == firstNum)
                                {
                                    cont = true;
                                }
                            }
                            if (cont)
                            {
                                ChangeFunk(firstNum, secNum);
                                break;
                            }
                            else
                            {
                                break;
                            }


                            
                        }

                    default:
                        break;
                        
                }
                comand = Console.ReadLine();

            }
            Console.WriteLine(string.Join(" ", Numbers));
        }


            static void InsertFunk(int index, int number)
            {
                Numbers.Insert(index + 1, number);
            
            }
            static void SwitchFunk(int one, int two)
            {
            int indexone = 0;
            int indextwo = 0;

            for (int i = 0; i < Numbers.Count; i++)
            {
                if (Numbers[i] == one)
                {
                     indexone = i;
                }
                if (Numbers[i] == two)
                {
                     indextwo = i;
                }
            }
            int temp = one;
            Numbers[indexone] = Numbers[indextwo];
            Numbers[indextwo] = temp;
            }

            static void HideFunk(int one)
            {
            Numbers.Remove(one);

            }
            
            static void ChangeFunk(int one, int two)
            {
            int indexone = 0;
            

            for (int i = 0; i < Numbers.Count; i++)
            {
                if (Numbers[i] == one)
                {
                    indexone = i;
                }
            }
            Numbers.RemoveAt(indexone);
            Numbers.Insert(indexone, two);

        }
        
    }
}
 

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