Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.09.2021
Сообщений: 70

Вывести очередь студентов, которых необходимо селить в общежитие в первую очередь

10.05.2022, 13:19. Показов 914. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот задание: Дан список иногородних студентов из n человек: ФИО, адрес (город, улица, дом-квартира), приблизительное расстояние до Краснодара. Для них в общежитии выделено k мест. Вывести очередь студентов, которых необходимо селить в общежитие в первую очередь. Критерий отбора: расстояние до города.
Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    // класс реализует интерфейс IComparable
    class Student : IComparable
    {
        public string FIO { get; set; } // фамилия, имя, отчество
        public string Adress { get; set; } // адрес
        public int Rasstoianie { get; set; } // расстояние до Краснодара
        // конструктор класса
        public Student(string FIO, string Adress, int Rasstoianie) 
        {
            this.FIO = FIO;
            this.Adress = Adress;
            this.Rasstoianie = Rasstoianie;
        }
        // установить способ сравнения расстояния
        public int CompareTo(object obj)
        {
            // преобразование параметра obj к типу точки
            Student p = (Student)obj;
            if (Rasstoianie > p.Rasstoianie) // сравнение расстояния
                return 1; // возвращается либо положительное,
            if (Rasstoianie == p.Rasstoianie)
                return 0; // либо нулевое,
            return -1; // либо отрицательное значение
        }
    }
Форма:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        ArrayList ishod, res; // объявление динамических массивов
 
        private void Form1_Load(object sender, EventArgs e)
        {
            ishod = new ArrayList(); // выделение памяти
            res = new ArrayList();
        }
 
        private void button2_Click(object sender, EventArgs e) // кнопка узнать
        {
            // ТУТ НЕ ЗНАЮ, ЧТО ПИСАТЬ!
        }
 
        private void button1_Click(object sender, EventArgs e) // кнопка добавить
        {
            string FIO = (string)textBox_FIO.Text; // берем значение из текстбоксов
            string Adress = (string)textBox_Adress.Text;
            int Rasstoianie = (int)numericUpDown_Rasstoianie.Value; 
            Student p = new Student(FIO, Adress, Rasstoianie); // добавляем данные
            ishod.Add(p); // добавляем в коллекцию
            dataGridView1.Rows.Add(p.FIO, p.Adress, p.Rasstoianie); // добавляем в таблицу на форме
 
        }
    }
Мне нужно в форме вводить ФИО студента, его адрес и расстояние до Краснодара в текстбоксы и после все, что было введено добавляется в таблицу(Это все у меня сделано). Затем необходимо отсортировать эту таблицу по расстоянию, сделать это нужно в кнопке “Узнать”(button2), именно это и вызвало затруднение, не знаю, как реализовать.
Пробовал так, но не работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        private void button2_Click(object sender, EventArgs e) // кнопка узнать
        {
            Student skt = new Student("", "", 0);
            skt = (Student)ishod[0];
            int min = skt.Rasstoianie;
            int ind = 0;
            dataGridView2.Rows.Clear();
            foreach (Student p in res)
            {
                if (p.Rasstoianie < min)
                {
                    min = p.Rasstoianie;
                    ind = ishod.IndexOf(p);
                }
            }
            skt = (Student)ishod[ind];
            dataGridView2.Rows.Add(skt);
            
            
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.05.2022, 13:19
Ответы с готовыми решениями:

Определить, в какой магазин в первую очередь необходимо завести новую партию товара
Имеется 5 магазинов с разными названиями: ЦУМ, ГУМ, Немига, Восточный, Первомайский. В магазинах имеется один и тот же товар, который...

Записать содержимое исходного файла F1 в очередь, вывести очередь в файл F2 в прямом и обратном порядке
В текстовом файле F1 задан список фамилий (по одной на стpоке, не более 15 символов). Разpаботать пpоцедуpы: 1. P1 - фopмиpования очеpеди...

10 студентов,среди которых Фёдоров и Шилов случайным образом занимают очередь в столовой
10 студентов,среди которых Фёдоров и Шилов случайным образом занимают очередь в столовой.Сколько имеется вариантов расстановки...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.05.2022, 13:19
Помогаю со студенческими работами здесь

Создать очередь из 20 чисел в диапазоне от 0 до 100. Вывести ее на экран. Переписать числа в новую очередь так, чтобы вс
Создать очередь из 20 чисел в диапазоне от 0 до 100. Вывести ее на экран. Переписать числа в новую очередь так, чтобы все четные числа...

Очередь, необходимо вывести все элементы
необходимо создать и вывести очередь на экран, с выводом туго, пожалуйста, помогите, что тут не так #include &lt;iostream&gt; #include...

Задача в экселе. Десять студентов, среди которых Александр и Василий, случайным образом занимают очередь в библиотеку. С
Десять студентов, среди которых Александр и Василий, случайным образом занимают очередь в библиотеку. Сколько вариантов размещения...

Сформировать односвязную очередь из элементов, которые входят в очередь Q1, но не входят в очередь Q2
Составить программу обработки динамической структуры данных: сформировать односвязную очередь Q из элементов, которые входят в очередь Q1,...

Очередь: вывести n натуральных чисел, в разложение которых на простые множители входят только числа 2, 3, 5
Помогите решить задачу: Используя очередь, напечатать в порядке возрастания первые n натуральных чисел, в расписании которых на простые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru