В одномерном массиве, состоящем из n целочисленных элементов, вычислить: сумму отрицательных элементов массива; произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. Превратить массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все отрицательные (элементы равны нулю считать положительными). Язык C#
using System; class Program { static void Main() { int n = Convert.ToInt32(Console.ReadLine()); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = Convert.ToInt32(Console.ReadLine()); } int sumNegative = 0; int maxIndex = 0; int minIndex = 0; for (int i = 0; i < n; i++) { if (arr[i] < 0) { sumNegative += arr[i]; } if (Math.Abs(arr[i]) > Math.Abs(arr[maxIndex])) { maxIndex = i; } if (Math.Abs(arr[i]) < Math.Abs(arr[minIndex])) { minIndex = i; } } int product = 1; int startIndex = Math.Min(maxIndex, minIndex) + 1; int endIndex = Math.Max(maxIndex, minIndex); for (int i = startIndex; i < endIndex; i++) { product *= arr[i]; } Array.Sort(arr, (x, y) => x.CompareTo(0) - y.CompareTo(0)); Console.WriteLine("Сумма отрицательных элементов: " + sumNegative); Console.WriteLine("Произведение элементов между максимальным и минимальным по модулю элементами: " + product); Console.WriteLine("Преобразованный массив: "); foreach (var element in arr) { Console.Write(element + " "); } } }
Пример ввода:
6 -2 3 -4 5 -7 8
Пример вывода:
Сумма отрицательных элементов: -13 Произведение элементов между максимальным и минимальным по модулю элементами: 15 Преобразованный массив: 3 5 8 -2 -4 -7
class Program
{
static void Main()
{
int n = Convert.ToInt32(Console.ReadLine());
int[] arr = new int[n];
for (int i = 0; i < n; i++)
{
arr[i] = Convert.ToInt32(Console.ReadLine());
}
int sumNegative = 0;
int maxIndex = 0;
int minIndex = 0;
for (int i = 0; i < n; i++)
{
if (arr[i] < 0)
{
sumNegative += arr[i];
}
if (Math.Abs(arr[i]) > Math.Abs(arr[maxIndex]))
{
maxIndex = i;
}
if (Math.Abs(arr[i]) < Math.Abs(arr[minIndex]))
{
minIndex = i;
}
}
int product = 1;
int startIndex = Math.Min(maxIndex, minIndex) + 1;
int endIndex = Math.Max(maxIndex, minIndex);
for (int i = startIndex; i < endIndex; i++)
{
product *= arr[i];
}
Array.Sort(arr, (x, y) => x.CompareTo(0) - y.CompareTo(0));
Console.WriteLine("Сумма отрицательных элементов: " + sumNegative);
Console.WriteLine("Произведение элементов между максимальным и минимальным по модулю элементами: " + product);
Console.WriteLine("Преобразованный массив: ");
foreach (var element in arr)
{
Console.Write(element + " ");
}
}
}
Пример ввода:
6-2
3
-4
5
-7
8
Пример вывода:
Сумма отрицательных элементов: -13Произведение элементов между максимальным и минимальным по модулю элементами: 15
Преобразованный массив:
3 5 8 -2 -4 -7