
Вариант 19
Random rnd = new Random();
int n = rnd.Next(5, 10);
double[] a = new double[n];
int i = 0;
// Создать и вывести на экран исходный массив
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Исходный массив");
Console.ForegroundColor = ConsoleColor.Red;
for (i = 0; i < n; i++)
{
Console.Write("{0,6}", i);
}
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.White;
for (i = 0; i < n; i++)
{
a[i] = -10 + 20 * rnd.NextDouble();
Console.Write("{0,6:f2}", a[i]);
} // for
Console.WriteLine();
Console.WriteLine();
double min = Math.Abs(a[0]);
int imin = 0;
for (i = 0; i < a.Length; ++i)
if (Math.Abs(a[i]) < min)
{
min = Math.Abs(a[i]);
imin = i;
}
Console.WriteLine("Номер минимального по модулю элемента: {0,3}", imin);
i = 0;
while (a[i] > 0)
{
i = i + 1;
}
Console.WriteLine("Номер первого отрицательного элемента: {0,3}", i);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Вывести элементы,стоящие после первого отрицательного элемента:");
Console.ForegroundColor = ConsoleColor.White;
double sum = 0;
for (int f = i + 1; f < a.Length; ++f)
{
Console.Write("{0,6:f2}", a[f]);
sum += Math.Abs(a[f]);
}
Console.WriteLine();
Console.WriteLine("Сумма модулей элементов,стоящих после первого отрицательного {0,3:f2}", sum);
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Преобразованный массив:");
Console.ForegroundColor = ConsoleColor.Red;
double aa = -4;
double bb = 2;
int k = -1;
double[] b = new double[n];
for (i = 0; i < n; i++)
if (a[i] < aa || a[i] > bb)
{
k++;
b[k] = a[i];
}
for (i = k + 1; i < n; i++)
b[i] = 0;
for (i = 0; i < n; i++)
Console.Write("{0,6}", i);
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.White;
for (i = 0; i < n; i++)
Console.Write("{0,6:f2}", b[i]);
Console.WriteLine();