Я пытался решить этот код. Цель этого кода - добавить к массиву Memo
первые пустые пробелы (с идентификатором 0), найденные в массиве.
Но каким-то образом break
не завершает for
l oop (что приводит к продолжению добавления значений ...).
Ожидаемый результат должен быть 555550000000000,
Но вместо этого он возвращает 000005555555555.
Am I игнорируя что-то? или, может быть, мне нужно использовать другой тип цикла?
using System;
public class Program
{
public static void Main()
{
int [] Memo = new int[15];
foreach(int i in Memo)
{
Memo[i] = 0;
}
int Empty = 0;
int size = 5;
int Value = 5;
int CheckPos;
for(int x = 0; x < Memo.Length; x++)
{
if (Memo[x] == 0)
{
Empty++;
}
else
{
Empty = 0;
}
if (Empty == size)
{
CheckPos = x - size + 1;
for (int j = CheckPos; j < size; j++)
{
Memo[j] = Value;
}
break;
}
}
foreach(int i in Memo)
{
Console.Write(Memo[i]);
}
}
}