С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 39

Сортировка по среднему баллу

22.05.2018, 20:41. Показов 3438. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не получаетса доделать сортировку по среднем бале. Оно сортирует но не правельно. Вот что у меня получилось. Сортировка по среднем бале
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
31
 void TForm1::SortGridColumn( int iCol )
{
        int iRows = StringGrid2->RowCount;
 
        // сортировка методом пузырька
        for( int i = iRows; i > 1; i-- )
        {
                for ( int j = 2; j < i; j++ )
                {
                        if ( StringGrid2->Cells[iCol][j] < StringGrid2->Cells[iCol][j-1] )
                        {
                                AnsiString sTemp = StringGrid2->Rows[j]->Text;
                                StringGrid2->Rows[j]->Text = StringGrid2->Rows[j-1]->Text;
                                StringGrid2->Rows[j-1]->Text = sTemp;
                        }
                }
        }
}
// сортировка по имене по 1 колонке
void __fastcall TForm1::SpeedButton7Click(TObject *Sender)
{
 
SortGridColumn(1);
 
}
//сортировка по среднем бале по 11 колонке
 
void __fastcall TForm1::SpeedButton8Click(TObject *Sender)
{
SortGridColumn(11);
}
Миниатюры
Сортировка по среднему баллу  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2018, 20:41
Ответы с готовыми решениями:

Сортировка списка студентов по среднему баллу
Дан список студентов. Необходимо отсортировать студенток по среднему баллу и вывести на экран результат. пример исходных студентов: ...

Сортировка по возрастанию студентов по среднему баллу
Доброго времени суток. В общем, есть средние баллы(в самом низу программы), но сортировку я вообще не понимаю как сделать в такой...

Сортировка списка группы студентов по среднему баллу нескольких экзаменов
Доброго времени суток. Задали в школе задачу, есть мысль, но не могу воплотить в код Есть задача: Сформировать файл, в котором будет...

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
22.05.2018, 21:42
Перепиши метод сортировки вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void TForm1::SortGridColumn(int iCol, bool Numbers) // не забудь поменять в классе формы
{
    int iRows = StringGrid2->RowCount;
 
    // сортировка методом пузырька
    for (int i = iRows; i > 1; i--)
    {
        for (int j = 2; j < i; j++)
        {
            if (Numbers ? StrToInt(StringGrid2->Cells[iCol][j]) < StrToInt(StringGrid2->Cells[iCol][j - 1]) :
                StringGrid2->Cells[iCol][j] < StringGrid2->Cells[iCol][j - 1])
            {
                AnsiString sTemp = StringGrid2->Rows[j]->Text;
                StringGrid2->Rows[j]->Text = StringGrid2->Rows[j - 1]->Text;
                StringGrid2->Rows[j - 1]->Text = sTemp;
            }
        }
    }
}
, и вызывай так:
C++
1
2
3
4
5
6
7
8
9
10
11
// сортировка по имене по 1 колонке
void __fastcall TForm1::SpeedButton7Click(TObject *Sender)
{
    SortGridColumn(1, false); // сортировать 1 столбец как текст
}
//сортировка по среднем бале по 11 колонке
 
void __fastcall TForm1::SpeedButton8Click(TObject *Sender)
{
    SortGridColumn(11, true); // 11-ый столбец сортировать как целые числа
}
0
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 39
22.05.2018, 21:56  [ТС]
неработает
Миниатюры
Сортировка по среднему баллу  
0
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 39
22.05.2018, 21:57  [ТС]
volvo, volvo, неработает
Миниатюры
Сортировка по среднему баллу  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
22.05.2018, 22:18
Лучший ответ Сообщение было отмечено Solara как решение

Решение

У тебя не работает у меня - работает. Потому что у тебя не все элементы строки заполнены, а у меня - все. Что у тебя 6-я строка делает там вообще? В ней ничего нет, она пустая.

Добавлено через 2 минуты
В крайнем случае можно заменить 10 и 11 строки в моем коде на:
C++
10
11
            if (Numbers ? StrToIntDef(StringGrid2->Cells[iCol][j], 0) < StrToIntDef(StringGrid2->Cells[iCol][j - 1], 0) :
                StringGrid2->Cells[iCol][j] < StringGrid2->Cells[iCol][j - 1])
, но это - костыль. Строк с пустыми значениями быть не должно.
1
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 39
22.05.2018, 22:31  [ТС]
volvo, Спасибо, мой косяк.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.05.2018, 22:31
Помогаю со студенческими работами здесь

Сортировка структур. Нужно вставить в кейс 3 и 4 сортировку по дате(году) и среднему баллу.
Нужно вставить в кейс 3 и 4 сортировку по дате(году) и среднему баллу. Помогите отсортировать. #include &lt;iostream&gt; #include...

Сортировка студентов по среднему баллу. При одинаковом балле выводит только одну фамилию
Доброе время суток! Помогите исправить программу. Суть в чем: есть база фактов: студент+список его оценок. Надо отсортировать факты по...

Структура "Студент". Сортировка по среднему баллу
Составить список учебной группы, включающий десять человек. Для каждого студента указать: фамилию и имя, дату рождения (год, месяц и...

Распределение по среднему баллу
Вот так выглядит задание помогите кто чем может: Имеются данные об оценках группы: фамилия, имя. семь оценок по предметам. Составить...

Упорядочить массив по среднему баллу
вот прога уже собственно готова но как упорядочить по среднему балу? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru