Попробуйте
i = 1;
заменить на
i = 0;
Дело в том, что после цикла (после
i=1;
) будет выполнено
i++
.
UPD. Вдруг кто-то еще не поймет где надо заменить 1 на 0, приведу полный код:
class Program
{
static void Main(string[] args)
{
int[] mas = { 4, 5, 25, 21, 0, 8, 6, 97, 60, 46, 54 };
Sort Ring = new Sort();
foreach (int item in Ring.Search(mas))
{
Console.Write("{0}, ", item);
}
Console.ReadKey();
}
}
class Sort
{
// Сортировка пузырьком
public int[] Search(int[] gmas)
{
for (int i = 1; i < gmas.Length; i++)
{
if (gmas[i - 1] > gmas[i])
{
int LastPoint = gmas[i];
gmas[i] = gmas[i - 1];
gmas[i - 1] = LastPoint;
i = 0; // заменяли только эту строчку
}
}
return gmas;
}
}
Всем удачи и будьте внимательнее.