25.08.2019, 04:45 [+3 UTC]
в нашей команде: 3 780 чел. | участники онлайн: 2 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.77 (31.05.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
24.08.2019, 19:56

Последний вопрос:
25.08.2019, 04:15
Всего: 150140

Последний ответ:
24.08.2019, 11:40
Всего: 258872

Последняя рассылка:
25.08.2019, 01:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
06.03.2012, 19:53 »
korsar
Да, не слышал я о такой фирме. Возможно Вы и правы - но тут уже надо внимательно смотреть в магазине. [вопрос № 185539, ответ № 270128]
29.11.2011, 23:32 »
Посетитель - 382320
Спасибо! не могли бы вы подсказать как выглядит сильный предел последовательности операторов. [вопрос № 184612, ответ № 268979]
21.02.2010, 23:00 »
Бабич Илья Александрович
Спасибо за помощь [вопрос № 176834, ответ № 259645]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

solowey
Статус: Практикант
Рейтинг: 236
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 90
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 69

Перейти к консультации №:
 

Консультация онлайн # 195788
Раздел: • С / С++
Автор вопроса: agiftfromthegoddess (Посетитель)
Отправлена: 02.06.2019, 12:09
Поступило ответов: 1

Здравствуйте! Я самоучка, изучаю C++ и его работу в Builder'е... У меня есть небольшие сложности с сортировкой.... Вот, у меня есть StringGrid(столбцы:[Номер записи];[Товар];[Цена])... Мне бы хотелось отсортировать 2/3 столбики. Во втором все элементы типа char, в третьем - int. Мне бы хотелось узнать как правильно сортировать(код), и дабы не возникало у меня вопросов - объяснить каждую написанную строчку кода. Заранее благодарю.

Состояние: Консультация закрыта

Здравствуйте, agiftfromthegoddess!

© Цитата: agiftfromthegoddess
StringGrid(столбцы:[Номер записи];[Товар];[Цена])

StringGrid - таблица строк, но сама строка - это массив элементов типа CHAR / BYTE, т.е. StringGrid - матрица массивов байт, для каждого типа данных свое количество байт и зависит от компилятора, для целых от 4-ех до 8-ми байт, для вещественных от 8-ми до 10-ти байт.

© Цитата: agiftfromthegoddess
Мне бы хотелось отсортировать 2/3 столбики. Вотором все элементы типа char, в третьем - int.

Какую либо сотрировку я Вам не могу дать. т.к. их много, и все они отличаются по скорости и ресурсоемкости. Самые популярные можно найти тут, в картинках, которые помогут понять как они работают.

Сортировка строк, аналогична сортировке массива чисел, с одним отличием, что сравнение двух элементов Грида, каждый раз сравнивается один(i-тый) байт этих элементов, при их равенстве переходим к сравнению следующего байта в строке и так до конца одной из строк, если байты не равны. то в зависимости от вида сортировки(убывание, возрастание, не убывание, не возрастания), принимается решение обмена всех элеметов данных строк в Гриде. Т.е. Если Вы, к примеру сортируете по цене, по возрастанию, то если первая больше второй, то меняются местами польностью эти две строки, т.е. [Номер записи];[Товар];[Цена];.
Если Вы хотите сортировать по двум столбцам, то Вам нужно разобраться с поразрядной сортировкой, считая, что каждый разряд, это столбец Вашего Грида, но при обмене строк в Гриде нужно следить, за полями, которые уже отсортированы.

Но так как Вы не обладаете навыками программирования, Вам нужно начать изучать основные алгоритмы работы с данными. Это те камушки из которых будут строится блоки, а уже из блоков собираются БД.

Удачи!


Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 08.06.2019, 20:24

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 195788

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 1

= общий = | 02.06.2019, 12:38 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
agiftfromthegoddess:

А зачем задавать сразу два одинаковых вопроса?

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 2

= общий = | 02.06.2019, 13:00 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
agiftfromthegoddess:

© Цитата: agiftfromthegoddess
у меня есть StringGrid

Сперва определимся, что у Вас есть StringGrid : String(строка или массив байт), Grid(сетка, решетка), если отходить от дословного перевода - это таблица, в которой все ячейки строки.
smile

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 3

= общий = | 02.06.2019, 13:02 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
agiftfromthegoddess:

Думаю, что сортировку строк Вы уже проходили.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

agiftfromthegoddess
Посетитель

ID: 403096

# 4

= общий = | 02.06.2019, 14:16 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Зенченко Константин Николаевич
нет, я только начинаю изучать, мне осоветовали в билдере поработать... вот и было принято решение сделать что-то типа бд

agiftfromthegoddess
Посетитель

ID: 403096

# 5

= общий = | 02.06.2019, 14:18 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Зенченко Константин Николаевич
хочу добавить, что до этого не было пересечения меня и языка программирования... протсо появилось время и стало интересно...

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 6

= общий = | 02.06.2019, 15:35 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
agiftfromthegoddess:

© Цитата: agiftfromthegoddess
Я самоучка,

Никто не совершенен.
smile

Если Вы хотите создать подобие БД, то Вам нужно смотреть в сторону ADO(и его аналогов).
Нормальная БД. это не таблица, а группа взаимосвязаных таблиц


Но прежде чем "замахмутся на Шекспира" нужно освоить азы программирования.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Зенченко Константин Николаевич
Старший модератор

ID: 31795

# 7

= общий = | 02.06.2019, 17:38 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
agiftfromthegoddess:

Вы хоть поняли разницу, между тем, что Вы хотите создать и учебной БД.

=====
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.
smile

Андрей Кузнецов aka Dr_Andrew
Старший модератор

ID: 17042

# 8

= общий = | 06.06.2019, 12:58 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

© Цитата: Зенченко Константин Николаевич
Если Вы хотите создать подобие БД, то Вам нужно смотреть в сторону ADO


Оформите ответ?

=====
We have but faith: we cannot know;
For knowledge is of things we see;
And yet we trust it comes from thee,
A beam in darkness: let it grow.
-----
https://www.linkedin.com/in/andreynkuznetsov
https://www.researchgate.net/profile/Andrey_Kuznetsov11
http://www.researcherid.com/rid/K-8824-2014

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14632 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.77 от 31.05.2019
Версия JS: 1.34 | Версия CSS: 3.35