Мне нужно написать простую программу, в которой вы должны ввести имена студентов и их средний класс, а затем распечатать самый высокий средний класс и кому он принадлежит. Здесь есть несколько тем, как определить, появляется ли значение в массиве. Вещь, с которой я борюсь, - это то, что нужно делать, если есть более 1 ученика с максимальным средним классом.C# - Проверьте, сколько раз значение появляется в массиве и найдите индексы
Вот что я до сих пор:
Console.WriteLine("Enter the overall count of students.");
int stuCount = Convert.ToInt32(Console.ReadLine());
string[] name = new string[stuCount];
double[] avg = new double[stuCount];
for (int i = 0; i < stuCount; i++)
{
Console.WriteLine("Enter the name of student # {0}.", i + 1);
name[i] = Console.ReadLine();
Console.WriteLine("Enter the average grade of {0}.", name[i]);
avg[i] = Convert.ToDouble(Console.ReadLine());
}
// Finding the max average
double maxAvg = avg[0];
for (int i = 1; i < stuCount; i++)
{
if (avg[i] > maxAvg)
{
maxAvg = avg[i];
}
}
// Displaying the max average
Console.WriteLine("The highest average grade is {0}.", maxAvg);
Таким образом, я могу использовать Array.IndexOf()
метод, чтобы найти множество индексов?
спасибо.
Используйте перегрузку 'Array.IndexOf()' с аргументом 'StartIndex', чтобы найти несколько индексов: https://msdn.microsoft.com/en-us/ library/3b2fz03t (v = vs.110) .aspx –
Недавний и активный вопрос о SO, который имеет дело с одной и той же проблемой несколькими способами - [SO link] (http://stackoverflow.com/questions/38006865/how-can -i-make-my-procedure-for-find-the-nth-most-often-element-in-an-arra/38008666 # 38008666) – pijemcolu
Вы можете использовать только массив, а также классы и списки? – Tinwor