Одномерный массив. Произведение элементов, после максимального по модулю - 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);
}
}