| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Сортировка массива с помощью указателей |
| Автор: Dikey 16.10.2009, 17:16 | ||
| Цель программы использовать для сортировки массив любого размера,копировать его и в копии делать сортировку. Подскажите в чем ошибка??компилятор ошибок не находит VS 2008. Я скорей с указателями напутал,укажите плиз на ошибку.
заранее благодарен. |
| Автор: Anikmar 16.10.2009, 17:23 |
| Можно хоть приблизительно ее охарактеризовать? |
| Автор: Dikey 16.10.2009, 17:31 |
| Нужна именно этот способ сортировки. Главное для меня фукция sort и swap,нужно чтоб фукция sort принимала разные массивы с разной размерностью и сортировала их. тоесть я могу использовать функцию в программе несколько раз с разными массивами,допустим мне нужно отсортировать три массива по очереди,я передаю в функцию начальный адрес масива и его размерность. |
| Автор: ИванМ 16.10.2009, 17:40 | ||
Ваш вариант так если подкорректировать указатели:
Но только это все равно не будет работать. Метод ошибочный. Любой стандартный метод с вашей задачей прекрасно справится. |
| Автор: Dikey 16.10.2009, 17:47 |
| пробовал,сортирует не верно,но радует и это,а то вообще ничего не происходило. нужно отсортировать 8,2,6,9,1,4,5,7,8,1 выдает 8,2,6,9,8,9,8,8,8,9 Метод работоспособный,проверенный мной и заключается в следующем: 1. предположить что элемент массива low является наименьшим(на первом шаге это 0 элемент массива) 2. вложенный цикл обеспечивает перебор всех элементов массива вправо от сравниваемого j=i+1 3. в условии вложенного цикла сравниваются все элементы массива,если находится меньшее значение элемента чем low то тогда этот элемент и становится low в программе low=j 4. Условием (i!=low) не сортируем повторяющиеся элементы. В функции swap думаю все понятно. |
| Автор: ИванМ 16.10.2009, 18:00 | ||
Dikey, ваш метод рабочий, так что прошу прощения. Ошибка была в функции swap. Надо так:
функцию sort тоже измените как я сказал. |
| Автор: Dikey 16.10.2009, 18:05 |
| Огромное спасибо,ошибка как всегда глупая. |
| Автор: Anikmar 17.10.2009, 16:02 |
А бывают "умные" ошибки? |
| Автор: Dikey 17.10.2009, 22:46 | ||
| Этот способ сортировки похож на пузырек? мне кажется что он медленнее чем пузырек.
|