我找不到代码中的错误,改变时数组输出不正确。
static void Main(string[] args)
{
Console.WriteLine("Введите размерность массива");
int n = Convert.ToInt32(Console.ReadLine());
int[] m = new int[n * 2];
int k = 0;
Random r = new Random();
Console.WriteLine("Начальный массив");
for (int i = 0; i < n; i++)
{
m[i] = r.Next(-100, 100);
Console.Write("{0,5}", m[i]);
}
Console.WriteLine();
int a = 0;
int count = 0;
for (int i = 0; i < n; i++)
{
int d = 0;
a = Math.Abs(m[i]);
while (a > 0)
{
if (a % 10 == 1)
{
d = 1;
}
a /= 10;
}
if (d == 1)
{
count++;
for (int p = n + count - 1; p > i + count - 1; p--)
{
m[p] = m[p - 1];
}
m[i + count - 1] = k;
i++;
}
}
Console.WriteLine("Измененный массив");
for (int i = 0; i < n + count; i++)
{
Console.Write("{0,5}", m[i]);
}
Console.WriteLine();
}