Структура с именем student. Упорядочить записи по возрастанию среднего балла - C#
Формулировка задачи:
Создайте структуру с именем student, содержащую поля: фамилия и инициалы, номер группы, успеваемость (массив из пяти элементов). Создать массив из десяти элементов такого типа, упорядочить записи по возрастанию среднего балла.Добавить возможность вывода фамилий и номеров групп студентов, имеющих оценки, равные только 4 или 5.Помогите с решением
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class student
{
public string fam;
public string name;
public string otche;
public int nom;
public int[] ysp = new int[5];
public double midle;
}
class Program
{
static void Main(string[] args)
{
student[] Massive = new student[10];
Random ran = new Random();
string[] name = new string[] { "Максим", "Валентин", "Дима", "Женя", "Коля", "Сергей", "Василий", "Виталий", "Григорий", "Олексей"};
string[] fam = new string[] { "Грибенко", "Милон", "Косенко", "Мирошничюк", "Владовннко", "Слизько", "Гаврило", "Кахошко", "Ведмеденко", "Лонтовко" };
string[] otche = new string[] { "Евгенович", "Петровыч", "Алексейичь", "Михайлович", "Едуардов", "Васильович", "Арсенович", "Павлович", "Анатолиевич", "Владиславович" };
for (int x = 0; x < 10; x++)
{
Console.WriteLine("Введите фамилию студента:");
Massive[x].fam = fam[ran.Next(0, fam.Length)];// Тут ошибка System.NullReferenceException,как решить проблему?
Console.WriteLine("Введите имя:");
Massive[x].name = name[ran.Next(0,9)];
Console.WriteLine("Введите отчество:");
Massive[x].otche = otche[ran.Next(0,9)];
Massive[x].nom = x+1;
for (int z = 0; z < 5; z++)
{
int v = 0;
Massive[x].ysp[z] = ran.Next(2,5);
z += Massive[x].ysp[z];
Massive[x].midle = z / 5;
}
}
int[] Massive2 = new int[10];
for (int x = 0; x < 10; x++)
{
int bol = 0;
for (int y = 0; y < 10; y++)
{
if (Massive[x].midle > Massive[y].midle) bol++;
}
Massive2[x] = bol + 1;
}
for (int x = 0; x < 10; x++)
{
if (Massive[x].midle >= 4)
{
Console.WriteLine("Студент " + Massive[Massive2[x]].fam + " " + Massive[Massive2[x]].name[0] + "." + Massive[Massive2[x]].otche[0]);
Console.WriteLine("Номер" + Massive2[x]);
Console.WriteLine("Оценки за семестр:");
Console.WriteLine("Математика:" + Massive[Massive2[x]].ysp[0]);
Console.WriteLine("Литература:" + Massive[Massive2[x]].ysp[1]);
Console.WriteLine("Физ.культура:" + Massive[Massive2[x]].ysp[2]);
Console.WriteLine("География:" + Massive[Massive2[x]].ysp[3]);
Console.WriteLine("Язык:" + Massive[Massive2[x]].ysp[4]);
Console.WriteLine("Средний бал:" + Massive[Massive2[x]].midle);
}
Console.ReadLine();
}
}
}
}Решение задачи: «Структура с именем student. Упорядочить записи по возрастанию среднего балла»
textual
Листинг программы
if(key == ConsoleKey.F1)