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