
Вариант 18
Random rnd = new Random();
int n = rnd.Next(5, 14);
int[] a = new int[n];
int[] arrayModify = new int[n];
// Создать и вывести на экран исходный массива
Console.WriteLine("Исходный массив:");
// Вывести на экран номера элементов
Console.ForegroundColor = ConsoleColor.Red;
for (int i = 0; i < n; i++)
{
Console.Write("{0,6}", i);
}
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine();
for (int i = 0; i < n; i++)
{
a[i] = rnd.Next(-3, 3);
Console.Write("{0,6}", a[i]);
} // for
Console.WriteLine();
// Найти минимальный по модулю элемент
int min = Math.Abs(a[0]);
for (int i = 0; i < n; i++)
{
if (Math.Abs(a[i]) < min)
{
min = Math.Abs(a[i]);
}
}
Console.WriteLine("Минимальный по модулю элемент массива равен: {0}", min);
//Сумма модулей элементов массива, расположенных после первого элемента, равного нулю.
int indnull = 0;
for (indnull = 0; indnull < n; indnull++)
if (a[indnull] == 0)
break;
if (indnull < n)
Console.WriteLine("Номер первого элемента, равного нулю: {0}", indnull);
else Console.WriteLine("Нет элемента, равного нулю.");
int s = 0;
for (int i = indnull; i < n; i++)
{
s = s + Math.Abs(a[i]);
}
Console.WriteLine("Сумма модулей элементов массива (по условию) равна: {0}", s);
//Сортировка элементов
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Массив после преобразования:");
Console.ForegroundColor = ConsoleColor.White;
for (int i = 0, j = 0, k = 0; i < n; i++)
{
if (i % 2 == 0)
{
arrayModify[j] = a[i];
j++;
}
else
{
if (n % 2 == 1)
arrayModify[(n + 1) / 2 + k] = a[i];
else
arrayModify[n / 2 + k] = a[i];
k++;
}
}
Console.ForegroundColor = ConsoleColor.Red;
for (int i = 0; i < n; i++)
{
Console.Write("{0,6}", i);
}
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine();
for (int i = 0; i < n; i++)
{
Console.Write("{0,6}", arrayModify[i]);
}
Console.WriteLine();