Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_2 Наследование интерфейсов.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
118.78 Кб
Скачать

2.1 Пример выполнения работы

  1. Создать класс Student, содержащий поля «Фамилия», «Курс» и «Средний балл»

  2. Создать массив из N экземпляров класса Student, проинициализировать случайными значениями и вывести сведения о студентах.

  3. Отсортировать массив студентов по убыванию их среднего балла, используя метод Sort класса Array

  4. Вывести информацию о студентах отрортированного массива

Текст программы

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Icomparab

{

class Student : IComparable

{

string fio;

int kurs;

double average;

public Student(string fio, int kurs, double average)

{

this.fio = fio; this.kurs = kurs;

this.average = average;

}

public void PersonalData()

{

Console.WriteLine("Студент {0} курса {1} имеет средний бал {2}", kurs, fio, average);

}

// переопределенный метод

public int CompareTo(object a)

{

Student b = (Student)a; // явное преобразование типов

if (b.average > this.average)

return 1;

if (b.average < this.average)

return -1;

return 0;

}

}

class Program

{

static void Main(string[] args)

{

string[] names = new string[] { "Иванов", "Петров", "Сидоров", "Паниковский", "Балаганов", "Корейко", "Скумбриевич", "Галкин", "Палкин", "Малкин" };

int n = 10;

Student[] A = new Student[n];

Random r = new Random();

for (int i = 0; i < n; i++)

{ A[i]=new Student(names[i], r.Next(1, 5), r.Next(1, 101));

A[i].PersonalData();

}

Array.Sort(A); // сортировка массива

Console.WriteLine("\nотсортированый: ");

for (int i = 0; i < n; i++)

{

A[i].PersonalData();

}

Console.ReadKey();

}

}

}

Результат работы программы

5