Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RFPRO.RU

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

solowey
Статус: Практикант
Рейтинг: 357
∙ повысить рейтинг »
zdwork
Статус: 2-й класс
Рейтинг: 121
∙ повысить рейтинг »
CradleA
Статус: Профессор
Рейтинг: 97
∙ повысить рейтинг »

∙ С / С++

Номер выпуска:1959
Дата выхода:12.06.2019, 12:15
Администратор рассылки:Андрей Кузнецов aka Dr_Andrew (Старший модератор)
Подписчиков / экспертов:44 / 33
Вопросов / ответов:1 / 1

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

Консультация # 195788:

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

Дата отправки: 02.06.2019, 12:09
Вопрос задал: agiftfromthegoddess (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


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

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

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

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

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

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

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

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

Удачи!

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

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное