![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.04.2008
Сообщений: 24
|
![]()
Здравствуйте. Помогите понять в чем ошибка, смысл программы - это иллюстрация процесса сортировки 2-d массива. Программа должна упорядочивать массив по возрастанию элементов строк(по нажатию на кнопку попарно меняет 2 элемента в массиве, расположенные рядом, когда строка отсортирована, переходит на следующую и т.д).
Код:
|
![]() |
![]() |
![]() |
#2 | |
Пользователь
Регистрация: 10.11.2007
Сообщений: 38
|
![]()
Вообще-то, сортировка массивов - избитая тема. Специально для Вас программа сортировки 2d-массива:
Код:
Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 27.04.2008
Сообщений: 24
|
![]()
yourself
Спасибо конечно, но я не просил Вас писать мне готовый код, а попросил указать на ошибку. Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Sergey31, у Вас k рано проверяется. Нужно проверять его когда закончен проход по строке.
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 27.04.2008
Сообщений: 24
|
![]()
Исправил, но все равно обмен элементов не происходит...
Код:
Последний раз редактировалось sergey31; 27.05.2008 в 17:14. Причина: Очепятки |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 10.11.2007
Сообщений: 38
|
![]()
Позвольте задать некоторые дополнительные вопросы
![]() 1)что такое b? 2)с какого индекса начинается массив? 3)сколько строк и столбцов в массиве? |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 27.04.2008
Сообщений: 24
|
![]()
Пожалуйста:
1. b - размерность массива по строкам.(длина строки). 2. И по строкам, и по столбцам индекс массива начинается с единицы. 3. 6 строк, 6 столбцов. |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Признак перестановок нужно обнулять в конце строки:
Код:
и еще не проверяется выход i за границы массива. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 10.11.2007
Сообщений: 38
|
![]()
Если b>2, то Ваш код не подходит по причине того, что при каждом нажатии кнопки меняются местами только два элемента в одной строке. При следующем нажатии кнопки местами будут меняться следующие 2 элемента в следующей строке. Чтобы сразу отсортировать весь массив, следует использовать циклы с параметрами.
|
![]() |
![]() |
![]() |
#10 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Цитата:
А что автор вопроса скажет ? Кстати, в моем тестовом примере код отлично работает. |
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка в STL | xz121 | Общие вопросы C/C++ | 3 | 09.06.2008 19:30 |
Delphi: Сортировка строк в StringGrid, критерий - элемент ячейки | Andris | Помощь студентам | 9 | 09.03.2008 23:04 |
Сортировка | fedya | Помощь студентам | 3 | 26.11.2007 18:24 |
1. Сортировка Шелла по убыванию 2. Сортировка вставками по убыванию | Arkuz | Помощь студентам | 1 | 25.09.2007 17:16 |