#include <stdio.h>
#include <stdlib.h>
// Функция сравнения для qsort
int compare(const void *a, const void *b) {
double arg1 = *(const double*)a;
double arg2 = *(const double*)b;
if (arg1 < arg2) return -1;
if (arg1 > arg2) return 1;
return 0;
}
int main() {
int n;
printf("Введите размер массива: ");
// Выделяем память под массивы
double *x
= (double*)malloc(n
* sizeof(double)); double *y
= (double*)malloc(n
* sizeof(double));
// Ввод элементов массива x
printf("Введите элементы массива x:\n"); for (int i = 0; i < n; i++) {
}
// Формирование массива y (только отрицательные элементы x, деленные на 2)
int count = 0; // Счетчик элементов в y
for (int i = 0; i < n; i++) {
if (x[i] < 0) {
y[count] = x[i] / 2.0;
count++;
}
}
// Сортировка массива y по возрастанию
qsort(y
, count
, sizeof(double), compare
);
// Вывод результатов
printf("Массив y (сжатый, отсортированный):\n"); for (int i = 0; i < count; i++) {
}
// Освобождение памяти
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCi8vINCk0YPQvdC60YbQuNGPINGB0YDQsNCy0L3QtdC90LjRjyDQtNC70Y8gcXNvcnQKaW50IGNvbXBhcmUoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikgewogICAgZG91YmxlIGFyZzEgPSAqKGNvbnN0IGRvdWJsZSopYTsKICAgIGRvdWJsZSBhcmcyID0gKihjb25zdCBkb3VibGUqKWI7CiAgICBpZiAoYXJnMSA8IGFyZzIpIHJldHVybiAtMTsKICAgIGlmIChhcmcxID4gYXJnMikgcmV0dXJuIDE7CiAgICByZXR1cm4gMDsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgbjsKICAgIHByaW50Zigi0JLQstC10LTQuNGC0LUg0YDQsNC30LzQtdGAINC80LDRgdGB0LjQstCwOiAiKTsKICAgIHNjYW5mKCIlZCIsICZuKTsKICAgIAogICAgLy8g0JLRi9C00LXQu9GP0LXQvCDQv9Cw0LzRj9GC0Ywg0L/QvtC0INC80LDRgdGB0LjQstGLCiAgICBkb3VibGUgKnggPSAoZG91YmxlKiltYWxsb2MobiAqIHNpemVvZihkb3VibGUpKTsKICAgIGRvdWJsZSAqeSA9IChkb3VibGUqKW1hbGxvYyhuICogc2l6ZW9mKGRvdWJsZSkpOwogICAgCiAgICAvLyDQktCy0L7QtCDRjdC70LXQvNC10L3RgtC+0LIg0LzQsNGB0YHQuNCy0LAgeAogICAgcHJpbnRmKCLQktCy0LXQtNC40YLQtSDRjdC70LXQvNC10L3RgtGLINC80LDRgdGB0LjQstCwIHg6XG4iKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgc2NhbmYoIiVsZiIsICZ4W2ldKTsKICAgIH0KICAgIAogICAgLy8g0KTQvtGA0LzQuNGA0L7QstCw0L3QuNC1INC80LDRgdGB0LjQstCwIHkgKNGC0L7Qu9GM0LrQviDQvtGC0YDQuNGG0LDRgtC10LvRjNC90YvQtSDRjdC70LXQvNC10L3RgtGLIHgsINC00LXQu9C10L3QvdGL0LUg0L3QsCAyKQogICAgaW50IGNvdW50ID0gMDsgLy8g0KHRh9C10YLRh9C40Log0Y3Qu9C10LzQtdC90YLQvtCyINCyIHkKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaWYgKHhbaV0gPCAwKSB7CiAgICAgICAgICAgIHlbY291bnRdID0geFtpXSAvIDIuMDsKICAgICAgICAgICAgY291bnQrKzsKICAgICAgICB9CiAgICB9CiAgICAKICAgIC8vINCh0L7RgNGC0LjRgNC+0LLQutCwINC80LDRgdGB0LjQstCwIHkg0L/QviDQstC+0LfRgNCw0YHRgtCw0L3QuNGOCiAgICBxc29ydCh5LCBjb3VudCwgc2l6ZW9mKGRvdWJsZSksIGNvbXBhcmUpOwogICAgCiAgICAvLyDQktGL0LLQvtC0INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIKICAgIHByaW50ZigiXG7QoNC10LfRg9C70YzRgtCw0YI6XG4iKTsKICAgIHByaW50Zigi0JzQsNGB0YHQuNCyIHkgKNGB0LbQsNGC0YvQuSwg0L7RgtGB0L7RgNGC0LjRgNC+0LLQsNC90L3Ri9C5KTpcbiIpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCIlLjJmICIsIHlbaV0pOwogICAgfQogICAgcHJpbnRmKCJcbiIpOwogICAgCiAgICAvLyDQntGB0LLQvtCx0L7QttC00LXQvdC40LUg0L/QsNC80Y/RgtC4CiAgICBmcmVlKHgpOwogICAgZnJlZSh5KTsKICAgIAogICAgcmV0dXJuIDA7Cn0=