Ситуация пусть right = длине-1 data (а при первом входе в qsort это так) последний элемент data маленький относительно других =>Увеличиваем j =>вылезаем за границы в строке => Даже если и не на первом шаге выкинет с ошибкой, то она точно проявит себя позже. 10000 int это не много.
2herfleisch, используй дебаггер, сразу все ясно станет, а то все глазами смотреть это геморой, вот, например, представь у тебя код еще был бы раз в 10 длиннее. Кстати, согласен что рекурсия страшная штука, ее нужно использовать тогда и только тогда когда без нее почти невозможно сделать.
У меня не хватило терпения 10000 входов в рекурсию отдебажить. Не нашёл способа разумнее. Впрочем, я так и думал, что в алгоритме какая-то хрен завалялась. Все спасибо ) А насчёт рекурсии - её ещё нужно использовать тогда, когда так требуют преподаватели )))
а зачем это знать? Данные при которых прога ломается известны, да притом даже будет известна строка на которой все происходит =\ п.с. вобще это уже не по теме разговор
Помогите пожалуйста написать программу на паскале: Дано натуральное число А. Определить, можно ли его представить в виде суммы квадратов натуральных чисел так, чтобы слагаемые этой суммы не повторялись, порядок слагаемых не важен. Если можно, то выдать найденную сумму, если способов несколько то выдать сумму с наименьшим числом слагаемых.
Pascal Подскажите плз, как разбить число N на 2 однобайтных с помощью побитовых операций. Вот 1ое число мы получаем так: N shr 8 А как же получить 2ое число?
Code: int first = 342135; // начальное // будем считать, что int - 4 байта, сдвинуть нужно на 16 битов. int second = first >> 16; first = first & pow(2, 16); // pow - возведение в степень, можно заранее посчитать Только тут по 2 байта каждое. ( на самом деле они по 4 байта, только, просто первые 2 байта точно зануленные ). Ты этого хотел? не факт, что этот код работает правильно, но суть такая.
омг, детишечки, возведение в степень для получения маски это сильно. lowByte = var & 0xff; hiByte = var >> 8;
Напишите пожалуста 2 программки. Срочно надо,завтра здавать. С++. 1.Построить односвязный список из входной последовательности чисел. При построении располагать числа в списке в порядке неубывания. 2.Из входной последовательности чисел построить двоичное дерево и определить длину пути (число ветвей) от корня до вершины с максимальным элементом. Буду очень благодарен!
для примера все же лучше давать не готовый код, а наводить на нужные мысли. Чтобы человек сам разобрался что именно надо сделать. Для этого вполне хватило бы внимательного фтыкания работы логических функций) Запоминается такое гораздо лучше готового решения.