![]() |
Застопорился с qsort
Суть задачи в следующем:
Дан одномерный массив длиной N. Массив заполняется датчиком случайных чисел (лучше использовать любое распределение, кроме нормального). Необходимо отсортировать массив со случайными числами используя qsort. Я вроде разобрался с возможностями qsort, но серавно незнаю куда подстаавить и что нужно доделать. Если возможно поясните что не так делаю или что-то забыл Вот код: Код:
#include <iostream> |
Согласно данного описания, алгоритм не полный.
Как я понял qsort надо подсказать, как сравнивать элементы массива между собой. Остальной ввод/вывод с виду верен, там сложно ошибиться, въедливо не проверял. |
Я пот переделал слегка, но неидет. Может я что-то нетак сделалал или забыл, подскажите
Вот код: Код:
#include <iostream> |
feytan, в фигурных скобочках напутал.
Код:
\\ head code ... Код:
Пример работы : Функция main не должна быть составной функцией чего либо еще. Это основная функция, получающая управление после запуска приложения. |
Цитата:
Во-вторых, можно и проще код написать Код:
int compare_ints (const void* a, const void* b) И стоит обратить внимание на оператор "?" . Он действует так: (Условие) ? Результат_Если_Истина : Иной_Результат Здесь мы в одной строке проверяем сразу три возможных варианта и полученный результат передаём на return |
El Scorpio,
Спасибо за совет, у меня вот теперь другой вопрос. Я пытаюсь добавить еще один элемент массива, притом, чтобы массив оставлся отсортированным, но что-то идет не так, или я про что-то не так делаю Вот код: Код:
#include <iostream> |
Вложений: 1
Сама программа запускается, но выдает в строке компиляции:
|
Нашел решение:
Вот код: Код:
#include <iostream> |
ну из методов "костылей" - добавь работу с глобальной переменной типа счетчик.
Увеличивай его в случае "больше" или в случае "меньше". "Поиграйся" в общем. |
Я сделал саму задачу, и выкладываю ее код, может кому пригодится.
Задание: Дан одномерный массив длиной N. Массив заполняется датчиком случайных чисел (лучше использовать любое распределение, кроме нормального). Требуется: 1) отсортировать массив со случайными числами; 2) в отсортированный массив, вставить случайное число, чтобы он оставался отсортированным; 3) также на экране после выполнения программы должно появляться сообщение, о том, сколько сравнений элементов сделано программой; 4) также программа должна выдавать сколько времени потребовалось ПК на выполнение программы Вот мои три разных способа решения задачи: Первый: Код:
#include <iostream> Код:
#include <iostream> Код:
#include <iostream> P.S. Если у кого есть еще какие варианты решения данной задачи пишите. Всем спасибо за помощь в решении задачи. |
Время: 17:54. |
Время: 17:54.
© OSzone.net 2001-