
Вариант 11
Random rnd = new Random();
int n = rnd.Next(5, 12);
double[] a = new double[n];
// Создать и вывести на экран исходный массива
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Исходный массив:");
// Вывести на экран номера элементов цветом Red
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] = -10 + 20 * rnd.NextDouble();
Console.Write("{0,6:f2}", a[i]);
} // for
Console.WriteLine();
// Найти номер минимального по модулю элемента массива
int imin = 0;
for (int i = 0; i < n; i++)
{
if (Math.Abs(a[i]) < Math.Abs(a[imin]))
imin = i;
}
Console.WriteLine();
Console.WriteLine("Номер наименьшего по модулю значения: {0}", imin);
Console.WriteLine();
int j = 0;
do
{
j++;
}
while (a[j] >= 0);
double s = 0;//сумма модулей элементов после первого отрицательного элемента
if (j >= n)
Console.WriteLine("В массиве нет отрицательных элементов");
else for (int i = j + 1; i < n; i++)
{
s += Math.Abs(a[i]);
}
Console.WriteLine("Сумма модулей элементов, стоящих после первого отрицательного элемента: {0:f2}", s);
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("Введите A: ");
int a1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите B: ");
int b1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine();
Console.WriteLine("Сжатый массив:");
Console.ForegroundColor = ConsoleColor.Red;
for (int i = 0; i < n; i++)
{
if ((a[i] >= a1) && (a[i] <= b1))
{
a[i] = 0;
}
Console.Write("{0,6}", i);
}
Console.WriteLine();
Console.ForegroundColor = ConsoleColor.White;
for (int i = 0; i < n; i++)
Console.Write("{0,6:f2}", a[i]);
Console.WriteLine();
Вариант 12
Random rnd = new Random();
int n = rnd.Next(4, 11);
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();
//Найти номер максимального по модулю элемента массива
int max = 0;
for (int i = 0; i < n; i++)
{
if (Math.Abs(a[max]) < Math.Abs(a[i]))
max = i;
}
Console.WriteLine("Номер максимального по модулю элемента массива: {0}", max);
//Найти первый положительный элемент массива
int first = 0;
for (int i = first; i < n; first++)
if (a[first] > 0)
break;
Console.WriteLine("Первый положительный элемент массива: {0:f2}", a[first]);
//Найти сумму всех элементов, расположенных после первого положительного элемента массива
double s = 0;
for (int i = first + 1; i < n; i++)
s = s + a[i];
Console.WriteLine("Сумма элементов, рас-ных после 1-ого положительного элемента: {0:f2}", s);
Console.WriteLine();
//Преобразование массива
Console.ForegroundColor = ConsoleColor.Green;
int b = -1;
int c = 1;
Console.WriteLine("Преобразованный массив (a = -1, b = 1):");
int l = -1;
for (int i = 0; i < n; i++)
{
if ((a[i] >= (b - 1)) && (a[i] < (c +1)))
{
l++;
arrayModify[l] = a[i];
}
}
for (int i = 0; i < n; i++)
{
if ((a[i] < (b - 1)) || (a[i] >= (c + 1)))
{
l++;
arrayModify[l] = 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}", arrayModify[i]);
}
Console.WriteLine();