Проблем с изтриването на елемент от масив
Здравейте! Задачата е следната - ако имам 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]);
}
}
}
}
ааабааа - а-тата са 3 последователни елемента и в случая остава само б като краен изход
ааауубббу - премахват се а-тата и остава уубббу, премахват се б-тата и остава ууу, премахват се и те и масивът остава празен(тоест EMPTY)
ааббвв- нищо не се премахва, защото няма 3 последователни еднакви елемента
https://pastebin.com/9w6NwH6D
Това е за момента което измислих.
Благодаря Ви! Само не разбирам променливата t в края каква роля играе, защото ми дава грешка
sequence ли. Повтаря цикъка докато има намерени три последователни. Проблемът с масивите е че като изтриеш нещо се променя дължината. Затова прекъсвам цикъла и го почвам наново.
for (int i = 0; i < marbles.Length; i++)
{
Console.WriteLine(t);
}
The name t does not exist in the current content
Коригирах го. Бях тръгнал да го правя с foreach но се отказах но не видях че не съм го коригирал. Отвори пак линка и ще бъде наред.
Супер, благодаря много!