| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > String Grid |
| Автор: Dvix 10.5.2008, 18:17 | ||
| дана матрица размером n*m. Упорядочить её строки по возрастанию суммы их элементов. Размерность вводится пользователем в Edit. Как Упорядочить её строки по возрастанию суммы их элементов?
|
| Автор: almagnit 10.5.2008, 19:57 |
| На стадии ввода массива, формируешь одномерный массив, записывая суммы строк каждой строки, а потом сортируя полученный массив переставляешь местами элементы строки соответствующей номеру ячейки в третьем массиве. Могу написать на чем угодно, но на Паскале программировал еще в школе и даже на олимпиаду ездил (не безуспешно будет желание тогда подробнее опишу алгоритм или могу дать листинг на другом языке. |
| Автор: THandle 10.5.2008, 20:12 | ||
Если я правильно понял задание, то вот:
Правда сортирует не строки, а столбцы, спешил и соответственно намудрил Ну там переделать не трудно. В аттаче сам проект. |
| Автор: Dvix 10.5.2008, 21:10 | ||
| это массив а с целым типом: A : array of integer; а это что? объясни.
|
| Автор: THandle 10.5.2008, 21:18 | ||
| Dvix, динамический двумерный массив. Статический объявляется так:
|
| Автор: Dvix 11.5.2008, 13:32 |
| Огромное СПС. Про статические двумерные массивы я знал, про динамические в первый раз слышу. Но передо мной стоит задача написать этот же код, без EditChange, по нажатию кнопки. |
| Автор: THandle 11.5.2008, 13:37 | ||
Dvix, не за что. А какие проблемы? Кидаешь еще одну кнопку на форму, создаешь обработчик OnClick, и пишешь в него вот этот код:
|
| Автор: Dvix 11.5.2008, 13:46 |
| Ещё раз огромное СПС. Со строками разобрался, но вот ещё проблема:по возрастанию суммы их элементов? |
| Автор: THandle 11.5.2008, 13:54 | ||
Очисти от кода Edit1Change:
Далее в Edit1 вводишь число и тыкаешь на эту кнопку. Колво столбцов и строк должно изменится если введено число. В точности наоборот) Тут столбцы сортирует) поменяй строки со столбцами) На счет этого, если не разберешься напишу вечером(если буду еще в здравом уме |
| Автор: Dvix 14.5.2008, 09:41 |
| необходимо упорядочить строки матрицы по возрастанию их наибольших элементов. |
| Автор: Dvix 15.5.2008, 18:32 | ||
второе:
|
| Автор: THandle 15.5.2008, 20:00 | ||||
Измени вот эту вот функцию:
На:
ну и название функции поменяй, как понравится, а то так не информативно получится |
| Автор: Dvix 15.5.2008, 20:56 |
| огромное спасибо. |
| Автор: THandle 15.5.2008, 21:39 |
| Не за что. Если вопрос решен, то пометь тему как решенную |
| Автор: Dvix 17.5.2008, 14:31 |
| Нет, вопрос не решён. Первую задачу нужно решить так: Находить сумму элементов строки и записывать их в массив, нужно поменять строки матрицы местами в зависимости от суммы элементов. Первой строкой будет строка, у котороой сумма элементов минимальна. Последней строкой будет строка, у которой сумма элементов максимальна. Ответ вывести в отдельный stringgrid. вводить числа в строки Stringgrid. Вторую задачу нужно решить так: Находить масксимальный элемент каждой строки. Менять местами стоки в зависимости от их максимального элемента. Первой строкой будет та строка, у которой макс. элемент минимален.Последнейц строкой буде та строка, у кот. макс. элемент наибольший. Ответ вывести в отдельный stringgrid. вводить числа в строки Stringgrid. |
| Автор: THandle 17.5.2008, 16:04 |
Переделай оба варианта под строки, а не столбцы - и будет решение, если я правильно понял вопрос. |
| Автор: Dvix 17.5.2008, 16:09 |
| как записать на делфи вот это: В StringGrid: Для начала выбрать размерность: 3*3. Вводишь числа: например 5, 7, 1. 6,6,1 и 5,4,1. После нажатия кнопки числа должны быть в обратном порядке занесены в строки? |
| Автор: THandle 17.5.2008, 16:34 | ||||||||
Вводишь любые числа.
Как нибудь так:
? |
| Автор: Dvix 17.5.2008, 16:50 |
| всё верно, но как написать, чтобы менялись строки? |
| Автор: THandle 17.5.2008, 16:53 | ||
Dvix, это ответ на твой предыдущий пост:
Насчет задач - просто переделай их под строки. |
| Автор: Dvix 17.5.2008, 16:58 |
| Числа вводятся в StringGrid пользователeм. ввести матрицу: 171 151 161 должно выводиться в тот же StringGrid1: 151 161 171 ответ должен выводиться в отдельный StringGrid2: 7 8 9 Как это записать на Делфи? |
| Автор: THandle 19.5.2008, 09:15 | ||||
Вот тебе 1:
Вот второе:
|