Структура с именем 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д