Структура с именем student. Упорядочить записи по возрастанию среднего балла - C#

Узнай цену своей работы

Формулировка задачи:

Создайте структуру с именем student, содержащую поля: фамилия и инициалы, номер группы, успеваемость (массив из пяти элементов). Создать массив из десяти элементов такого типа, упорядочить записи по возрастанию среднего балла.Добавить возможность вывода фамилий и номеров групп студентов, имеющих оценки, равные только 4 или 5.Помогите с решением
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication2
  8. {
  9. class student
  10. {
  11. public string fam;
  12. public string name;
  13. public string otche;
  14. public int nom;
  15. public int[] ysp = new int[5];
  16. public double midle;
  17. }
  18. class Program
  19. {
  20. static void Main(string[] args)
  21. {
  22. student[] Massive = new student[10];
  23. Random ran = new Random();
  24. string[] name = new string[] { "Максим", "Валентин", "Дима", "Женя", "Коля", "Сергей", "Василий", "Виталий", "Григорий", "Олексей"};
  25. string[] fam = new string[] { "Грибенко", "Милон", "Косенко", "Мирошничюк", "Владовннко", "Слизько", "Гаврило", "Кахошко", "Ведмеденко", "Лонтовко" };
  26. string[] otche = new string[] { "Евгенович", "Петровыч", "Алексейичь", "Михайлович", "Едуардов", "Васильович", "Арсенович", "Павлович", "Анатолиевич", "Владиславович" };
  27.  
  28. for (int x = 0; x < 10; x++)
  29. {
  30. Console.WriteLine("Введите фамилию студента:");
  31. Massive[x].fam = fam[ran.Next(0, fam.Length)];// Тут ошибка System.NullReferenceException,как решить проблему?
  32. Console.WriteLine("Введите имя:");
  33. Massive[x].name = name[ran.Next(0,9)];
  34. Console.WriteLine("Введите отчество:");
  35. Massive[x].otche = otche[ran.Next(0,9)];
  36. Massive[x].nom = x+1;
  37. for (int z = 0; z < 5; z++)
  38. {
  39. int v = 0;
  40. Massive[x].ysp[z] = ran.Next(2,5);
  41. z += Massive[x].ysp[z];
  42. Massive[x].midle = z / 5;
  43. }
  44. }
  45. int[] Massive2 = new int[10];
  46. for (int x = 0; x < 10; x++)
  47. {
  48. int bol = 0;
  49. for (int y = 0; y < 10; y++)
  50. {
  51. if (Massive[x].midle > Massive[y].midle) bol++;
  52. }
  53. Massive2[x] = bol + 1;
  54. }
  55. for (int x = 0; x < 10; x++)
  56. {
  57. if (Massive[x].midle >= 4)
  58. {
  59. Console.WriteLine("Студент " + Massive[Massive2[x]].fam + " " + Massive[Massive2[x]].name[0] + "." + Massive[Massive2[x]].otche[0]);
  60. Console.WriteLine("Номер" + Massive2[x]);
  61. Console.WriteLine("Оценки за семестр:");
  62. Console.WriteLine("Математика:" + Massive[Massive2[x]].ysp[0]);
  63. Console.WriteLine("Литература:" + Massive[Massive2[x]].ysp[1]);
  64. Console.WriteLine("Физ.культура:" + Massive[Massive2[x]].ysp[2]);
  65. Console.WriteLine("География:" + Massive[Massive2[x]].ysp[3]);
  66. Console.WriteLine("Язык:" + Massive[Massive2[x]].ysp[4]);
  67. Console.WriteLine("Средний бал:" + Massive[Massive2[x]].midle);
  68. }
  69. Console.ReadLine();
  70. }
  71. }
  72. }
  73. }

Решение задачи: «Структура с именем student. Упорядочить записи по возрастанию среднего балла»

textual
Листинг программы
  1. if(key == ConsoleKey.F1)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут