Вариант 13
Random rnd = new Random();
int n = rnd.Next(5, 12);
double[] a = new double[n];
double[] arrayModify = new double[n];
//Вывод исходного массива на экран
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Исходный массив:");
Console.ForegroundColor = ConsoleColor.Red;
for (int i = 0; i < n; i++)
{
Console.Write("{0,6}", i);
}
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.White;
for (int i = 0; i < n; i++)
{
a[i] = -5 + 10 * rnd.NextDouble();
Console.Write("{0,6:f2}", a[i]);
}
Console.WriteLine();
Console.WriteLine();
double C = -2;
double f = 0;
Console.WriteLine("Kоличество элементов массива, больших С (C = -2):");
for (int i = 0; i < n; i++)
{
if (a[i] > C)
{
f = f + 1;
}
}
Console.WriteLine("{0,6}", f);
Console.WriteLine("Номер максимального по модулю элемента:");
double max = Math.Abs(a[0]);
int iMax = 0;
for (int i = 0; i < n; i++)
{
if (Math.Abs(a[i]) > max)
{
max = Math.Abs(a[i]);
iMax = i;
}
}
Console.WriteLine("{0,6}", iMax);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Элементы массива, расположенные после максимального по модулю элемента:");
double pr = 1;
Console.ForegroundColor = ConsoleColor.Yellow;
for (int i = iMax + 1; i < n; i++)
{
Console.Write("{0,6:f2}", a[i]);
pr *= a[i];
}
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.White;
if (pr == 1)
Console.WriteLine("Произведения элементов не сужествует!");
else
Console.WriteLine("Произведение элементов, рас-ных после максимального по модулю элемента: {0,6:f2}", pr);
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Преобразованный массив:");
double[] b = new double[n];
int k = -1;
for (int i = 0; i < n; i++)
{
if (a[i] < 0)
{
k++;
b[k] = a[i];
}
}
for (int i = 0; i < n; i++)
{
if (a[i] > 0)
{
k++;
b[k] = a[i];
}
}
Console.ForegroundColor = ConsoleColor.Red;
for (int i = 0; i < n; i++)
{
Console.Write("{0,6}", i);
}
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.White;
for (int i = 0; i < n; i++)
{
Console.Write("{0,6:f2}", b[i]);
}
Console.WriteLine();
