Найти произведение элементов массива с четными номерами, сумму элементов и преобразовать массив - C#
Формулировка задачи:
В одномерном массиве, состоящем из n целых элементов, вычислить:
1) произведение элементов массива с четными номерами;
2) сумму элементов массива, расположенных между первым и последним нулевыми элементами.
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все отрицательные (элементы, равные 0, считать положительными).
Решение задачи: «Найти произведение элементов массива с четными номерами, сумму элементов и преобразовать массив»
textual
Листинг программы
- using System;
- using System.Linq;
- namespace ConsoleApp1
- {
- class Program
- {
- static int ReadlnInteger(string s)
- {
- Console.Write(s);
- return int.Parse(Console.ReadLine());
- }
- static void Main()
- {
- Console.Write("N = "); int n = int.Parse(Console.ReadLine());
- int[] a = Enumerable.Range(0, n).Select((v, i) => ReadlnInteger($"{i + 1} элемент: ")).ToArray();
- Console.WriteLine($"Массив: {String.Join(" ", a)}");
- Console.WriteLine("Произведение: " + a.Where((v, i) => i % 2 != 0).Aggregate(1, (x, v) => x * v));
- int nul1 = -1, nul2 = -1;
- for (int i = 0; i < a.Length; i++) if (a[i] == 0) { nul1 = i; break; }
- for (int i=a.Length-1;i>=0;i--) if (a[i] == 0 && i != nul1) { nul2 = i; break; }
- Console.WriteLine(nul1 == -1 || nul2 == -1 ? "Нулевой элемент один или таковые отсутствуют!"
- : $"Сумма: {a.Where((v, i) => i > nul1 && i < nul2).Sum()}");
- for (int i = 0; i < a.Length - 1; i++)
- for (int j = i; j < a.Length; j++)
- if (a[i] < 0 && a[j] >= 0) { int x = a[i]; a[i] = a[j]; a[j] = x; }
- Console.WriteLine($"Преобразованный массив: {String.Join(" ", a)}");
- Console.ReadLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д