Найти произведение элементов массива с четными номерами, сумму элементов и преобразовать массив - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы