Одномерный массив. Произведение элементов, после максимального по модулю - C#

Узнай цену своей работы

Формулировка задачи:

Как сделать, если максимальный элемент последний в массиве, выдать, что произведение равно 0
Console.WriteLine("Введите число C");
            int c = Convert.ToInt32(Console.ReadLine()); 
        begin:;             Console.Write("Размер массива: ");
            int n = Convert.ToInt32(Console.ReadLine()); 
        if (n < 0) 
                goto begin;
            int i = 0;
            int[] mav = new int[n]; 
            for (i = 0; i < n; i++)
            {
                Console.Write("Введите элемент №{0}: ", i + 1);
                mav[i] = Convert.ToInt32(Console.ReadLine());
            }
            Console.WriteLine("Массив:"); 
            for (i = 0; i < n; i++) Console.Write(mav[i] + " "); 
            int q = 0; 
            for (i = 0; i < n; i++)
            {
                if (mav[i] > c)
                    q++;
            }
            int max = Math.Abs(mav[0]); 
            int nmax = 0; 
            int prov = 1; 
            for (i = 0; i < n; i++)
            {
                if (max <= Math.Abs(mav[i]))
                {   
        max = Math.Abs(mav[i]);
                nmax = i; 
                } 
            }
            for (i = nmax + 1; i < n; i++)
            {
                prov = prov * mav[i];
            } 
            Console.WriteLine();
            Console.WriteLine("Количество элементов больших {0}: {1}", c, q);
            Console.WriteLine("Произведение элементов массива расположенных после максимального по модулю элемента {0}", prov);
            Console.ReadKey();

Решение задачи: «Одномерный массив. Произведение элементов, после максимального по модулю»

textual
Листинг программы
using System;
class Demo
{
    static void Main()
    {
        int max = int.MinValue;
        int prov = 1;
        int j = 0;
        Console.Write("введите С : ");
        int C = Int32.Parse(Console.ReadLine());
        Console.Write("длина массива : ");
        int[] arr = new int[Int32.Parse(Console.ReadLine())];
        for (int i = 0; i < arr.Length; i++)
        {
 
            Console.Write("arr[{0}] : ", i);
            arr[i] = Int32.Parse(Console.ReadLine());
            max = Math.Abs(arr[i]) > max ? arr[i] : max;
            if (arr[i] > C) j++;
            prov *= arr[i];
            if (Math.Abs(arr[i]) == max) prov = 1;
            if (i == arr.Length - 1 && prov == 1 && arr[i] !=1) prov = 0;
        }
        Console.WriteLine();
        Console.WriteLine("Количество элементов больших {0}: {1}", C, j);
        Console.WriteLine("Произведение элементов массива расположенных после максимального по модулю элемента : {0}", prov);
        Console.ReadKey(true);
    }
}

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


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

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

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