Loading...
yanislav1234 avatar yanislav1234 0 Точки

Arrays - Exercise 10. LadyBugs

Здравейте колеги.

https://pastebin.com/Ux1xeWtY

Получавам 30 от 100 и всички грешки освен една от тях са ми от RunTimeError. Вериятно излизам от array-а някъде. Идея къде ми е грешката ?

Благодаря ви.

Тагове:
0
Fundamentals Module 18/06/2020 00:43:47
Iv_Konov avatar Iv_Konov 383 Точки

Здравей,

 

Поправил съм грешките до 100/100:

 

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        int[] ladybugs = new int[int.Parse(Console.ReadLine())];
        int[] indexesOfLadyBugs = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
        for (int i = 0; i < indexesOfLadyBugs.Length; i++)
        {
            if (indexesOfLadyBugs[i] >= 0 && indexesOfLadyBugs[i] < ladybugs.Length) //!!!
            {
                ladybugs[indexesOfLadyBugs[i]] = 1;
            }
        }
        string command = Console.ReadLine();
        while (command != "end")
        {
            string[] threeWordsCommand = command.Split().ToArray();
            int indexOfLadyBug = int.Parse(threeWordsCommand[0]);
            int positionsMoved = int.Parse(threeWordsCommand[2]);
            if (indexOfLadyBug >= 0 && indexOfLadyBug < ladybugs.Length && ladybugs[indexOfLadyBug] == 1) // indexOfLadyBug >= 0 && indexOfLadyBug < ladybugs.Length) !!!
            {
                //if (positionsMoved < 0)
                //{
                //    if (threeWordsCommand[1] == "right")
                //    {
                //        threeWordsCommand[1] = "left";
                //        positionsMoved = Math.Abs(positionsMoved);
                //    }
                //    else
                //    {
                //        threeWordsCommand[1] = "right";
                //        positionsMoved = Math.Abs(positionsMoved);
                //    }
                //}

                ladybugs[indexOfLadyBug] = 0;

                if (threeWordsCommand[1] == "left")
                {
                    positionsMoved = -positionsMoved;
                }

                while (true)
                {
                    if (indexOfLadyBug + positionsMoved >= ladybugs.Length || indexOfLadyBug + positionsMoved < 0)
                    {
                        break;
                    }

                    if (ladybugs[indexOfLadyBug + positionsMoved] == 0)
                    {
                        ladybugs[indexOfLadyBug + positionsMoved] = 1;
                        break;
                    }

                    positionsMoved += positionsMoved;
                }

                //if (threeWordsCommand[1] == "right")
                //{
                //    if (indexOfLadyBug + positionsMoved >= 0 && indexOfLadyBug + positionsMoved < ladybugs.Length)
                //    {
                //        if (ladybugs[indexOfLadyBug + positionsMoved] == 1 && indexOfLadyBug + positionsMoved + 1 < ladybugs.Length)
                //        {
                //            for (int i = indexOfLadyBug; i < ladybugs.Length; i += positionsMoved) 
                //            {
                //                if (indexOfLadyBug + positionsMoved >= ladybugs.Length || indexOfLadyBug + positionsMoved < 0) 
                //                {
                //                    break;
                //                }

                //                if (ladybugs[i] != 1)
                //                {
                //                    ladybugs[i] = 1;

                //                }
                //            }
                //        }
                //        else if (ladybugs[indexOfLadyBug + positionsMoved] == 0)
                //        {
                //            ladybugs[indexOfLadyBug + positionsMoved] = 1;
                //        }
                //    }
                //}
                //else
                //{
                //    if (indexOfLadyBug - positionsMoved >= 0 && indexOfLadyBug - positionsMoved < ladybugs.Length)
                //    {
                //        if (ladybugs[indexOfLadyBug - positionsMoved] == 1 && (indexOfLadyBug + positionsMoved) - 1 < ladybugs.Length)
                //        {
                //            for (int i = indexOfLadyBug - positionsMoved; i >= 0; i--)
                //            {
                //                if (ladybugs[i] != 1)
                //                {
                //                    ladybugs[i] = 1;
                //                }
                //            }
                //        }
                //        else if (ladybugs[indexOfLadyBug - positionsMoved] == 0)
                //        {
                //            ladybugs[indexOfLadyBug - positionsMoved] = 1;
                //        }
                //    }
                //}
            }
            command = Console.ReadLine();
        }
        Console.WriteLine(String.Join(' ', ladybugs));
    }
}

 

Поздрави,

Иван

0
krum_43 avatar krum_43 756 Точки

А какво трябва да се прави при отместване от типа:

0 right -2?

Това равно ли е на 0 left  2?

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