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

Проблем с изтриването на елемент от масив

Здравейте! Задачата е следната - ако имам 3 последователни еднакви елемента, да се премахнат и да останат останалите елементи от масива, ако след това пак има 3 последователно, те също да се премахнат, докато не остане нито един елемент(тогава се появява EMPTY) или просто вече няма 3 последователни елементи, които да се премахнат. Проблемът, разбира се е в това, че кода не бачка коректно. Всяко мнение, би ми било полезно.

Пример 

ааабввв - б
ааббввв - аабб
аааббаааб - EMPTY

 

 

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

namespace MagicMarbles
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter the length of the marble sequence");
            int length = int.Parse(Console.ReadLine());


            string[] marbles = new string[length];
            for (int i = 0; i < length; i++)
            {
                marbles[i] = Console.ReadLine();
            }
            for (int i = 0; i <= marbles.Length - 2; i++)
            {
                if (marbles[i] == marbles[i + 1] && marbles[i] == marbles[i + 2])
                {
                    marbles = marbles.Except(new string[] { marbles[3] }).ToArray();
                }
                else
                {
                    continue;
                }
            }

            for (int i = 0; i <marbles.Length; i++)
            {
                Console.WriteLine(marbles[i]);
            }
        }
    }
}
 

Тагове:
prohause avatar prohause 356 Точки

Може ли условие на задачата че нещо е много объркано.

0
09/10/2018 19:45:24
mihailpopov666 avatar mihailpopov666 0 Точки

ааабааа - а-тата са 3 последователни елемента и в случая остава само б като краен изход

ааауубббу - премахват се а-тата и остава уубббу, премахват се б-тата и остава ууу, премахват се и те и масивът остава празен(тоест EMPTY)

ааббвв- нищо не се премахва, защото няма 3 последователни еднакви елемента

0
mihailpopov666 avatar mihailpopov666 0 Точки

Благодаря Ви! Само не разбирам променливата t в края каква роля играе, защото ми дава грешка

0
prohause avatar prohause 356 Точки

sequence ли. Повтаря цикъка докато има намерени три последователни. Проблемът с масивите е че като изтриеш нещо се променя дължината. Затова прекъсвам цикъла и го почвам наново. 

0
mihailpopov666 avatar mihailpopov666 0 Точки

 for (int i = 0; i < marbles.Length; i++)
            {
                Console.WriteLine(t);
            }

The name t does not exist in the current content

0
prohause avatar prohause 356 Точки

Коригирах го. Бях тръгнал да го правя с foreach но се отказах но не видях че не съм го коригирал. Отвори пак линка и ще бъде наред.

 

0
mihailpopov666 avatar mihailpopov666 0 Точки

Супер, благодаря много!

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