Сумма элементов матрицы, расположенных между первым максимальным и последним минимальными элементами - C#
Формулировка задачи:
как исправить ошибку в Main()?
Подсчитать сумму элементов, расположенных между первым максимальным и последним минимальными элементами. Если максимальный элемент встречается позже минимального, то выдать сообщение об этом.
using System;
namespace ConsoleApplication
{
class Class
{
static int[] Input()
{
Console.WriteLine("введите размерность массива");
int n = int.Parse(Console.ReadLine());
int[] a = new int[n];
for (int i = 0; i < n; ++i)
{
Console.Write("a[{0}]= ", i);
a[i] = int.Parse(Console.ReadLine());
}
return a;
}
static int Max(int[] a)
{
int max = a[0];
for (int i = 1; i < a.Length; ++i)
if (a[i] > max) max = a[i];
return max;
}
static int Min(int[] a)
{
int min = a[0];
for (int i = 1; i < a.Length; ++i)
if (a[i] < min) min = a[i];
return min;
}
static void Main()
{
int[] myArray = Input();
int max = Max(myArray);
int min = Min(myArray);
int kol = 0;
if (myArray[i] < Max(myArray) && myArray[i] > Min(myArray))
{
for (int i = Max(myArray)+1; i < Min(myArray); ++i)
{
kol+=myArray[i];
}
Console.WriteLine("Количество максимальных элементов = " + kol + " min" + min);
}
else
Console.WriteLine("Максимальный результат расположен после минимального!");
//Console.WriteLine("Количество максимальных элементов = " + kol + " min" + min);
}
}
}Решение задачи: «Сумма элементов матрицы, расположенных между первым максимальным и последним минимальными элементами»
textual
Листинг программы
using System;
namespace ConsoleApplication
{
class Class
{
static int[] Input()
{
Console.WriteLine("введите размерность массива");
int n = int.Parse(Console.ReadLine());
int[] a = new int[n];
for (int i = 0; i < n; ++i)
{
Console.Write("a[{0}]= ", i);
a[i] = int.Parse(Console.ReadLine());
}
return a;
}
static int Max(int[] a)
{
int max = a[0];
int index = 0;
for (int i = 1; i < a.Length; ++i)
if (a[i] > max)
{
max = a[i];
index = i;
}
return index;
}
static int Min(int[] a)
{
int min = a[0];
int index = 0;
for (int i = 1; i < a.Length; ++i)
if (a[i] <= min)
{
min = a[i];
index = i;
}
return index;
}
static void Main()
{
int[] myArray = Input();
int max = Max(myArray);
int min = Min(myArray);
if(max>min)
{
Console.WriteLine("Максимальный результат расположен после минимального!");
Console.ReadKey();
return;
}
int sum = 0;
for (int i = max+1; i < min; i++)
sum += myArray[i];
Console.WriteLine("Сумма элементов между первым максимальным и последним минимальным элементами: " + sum );
Console.ReadKey();
}
}
}