#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define Total 100
#define Ochenta 80
int comparar(const void *a, const void *b) {
return (*(int *)a - *(int *)b);
}
int main() {
int numeros[Total];
int muestra[Ochenta];
int resto[Total - Ochenta];
int i, j;
for (i = 0; i < Total; i++) {
numeros[i] = i + 1;
}
for (i = 0; i < Ochenta; i++) {
int index
= rand() % (Total
- i
); muestra[i] = numeros[index];
numeros[index] = numeros[Total - i - 1];
}
qsort(muestra
, Ochenta
, sizeof(int), comparar
);
printf("80 números del 1 al 100 ordenados de menor a mayor:\n"); for (i = 0; i < Ochenta; i++) {
}
int k = 0;
for (i = 0; i < Total; i++) {
int encontrado = 0;
for (j = 0; j < Ochenta; j++) {
if (numeros[i] == muestra[j]) {
encontrado = 1;
break;
}
}
if (!encontrado) {
resto[k++] = numeros[i];
}
}
qsort(resto
, Total
- Ochenta
, sizeof(int), comparar
);
printf("Los 20 números restantes del intervalo ordenados de menor a mayor:\n"); for (i = 0; i < Total - Ochenta; i++) {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRpbWUuaD4KCiNkZWZpbmUgVG90YWwgMTAwCiNkZWZpbmUgT2NoZW50YSA4MAoKaW50IGNvbXBhcmFyKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpIHsKICAgIHJldHVybiAoKihpbnQgKilhIC0gKihpbnQgKiliKTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgbnVtZXJvc1tUb3RhbF07CiAgICBpbnQgbXVlc3RyYVtPY2hlbnRhXTsKICAgIGludCByZXN0b1tUb3RhbCAtIE9jaGVudGFdOwogICAgaW50IGksIGo7CiAgICAKICAgIHNyYW5kKHRpbWUoTlVMTCkpOwogICAgCiAgICBmb3IgKGkgPSAwOyBpIDwgVG90YWw7IGkrKykgewogICAgICAgIG51bWVyb3NbaV0gPSBpICsgMTsKICAgIH0KICAgIAogICAgZm9yIChpID0gMDsgaSA8IE9jaGVudGE7IGkrKykgewogICAgICAgIGludCBpbmRleCA9IHJhbmQoKSAlIChUb3RhbCAtIGkpOwogICAgICAgIG11ZXN0cmFbaV0gPSBudW1lcm9zW2luZGV4XTsKICAgICAgICAKICAgICAgICBudW1lcm9zW2luZGV4XSA9IG51bWVyb3NbVG90YWwgLSBpIC0gMV07CiAgICB9CiAgICAKICAgIHFzb3J0KG11ZXN0cmEsIE9jaGVudGEsIHNpemVvZihpbnQpLCBjb21wYXJhcik7CiAgICAKICAgIHByaW50ZigiODAgbsO6bWVyb3MgZGVsIDEgYWwgMTAwIG9yZGVuYWRvcyBkZSBtZW5vciBhIG1heW9yOlxuIik7CiAgICBmb3IgKGkgPSAwOyBpIDwgT2NoZW50YTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCIlZCAiLCBtdWVzdHJhW2ldKTsKICAgIH0KICAgIHByaW50ZigiXG4iKTsKICAgIAogICAgaW50IGsgPSAwOwogICAgZm9yIChpID0gMDsgaSA8IFRvdGFsOyBpKyspIHsKICAgICAgICBpbnQgZW5jb250cmFkbyA9IDA7CiAgICAgICAgZm9yIChqID0gMDsgaiA8IE9jaGVudGE7IGorKykgewogICAgICAgICAgICBpZiAobnVtZXJvc1tpXSA9PSBtdWVzdHJhW2pdKSB7CiAgICAgICAgICAgICAgICBlbmNvbnRyYWRvID0gMTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmICghZW5jb250cmFkbykgewogICAgICAgICAgICByZXN0b1trKytdID0gbnVtZXJvc1tpXTsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHFzb3J0KHJlc3RvLCBUb3RhbCAtIE9jaGVudGEsIHNpemVvZihpbnQpLCBjb21wYXJhcik7CiAgICAKICAgIHByaW50ZigiTG9zIDIwIG7Dum1lcm9zIHJlc3RhbnRlcyBkZWwgaW50ZXJ2YWxvIG9yZGVuYWRvcyBkZSBtZW5vciBhIG1heW9yOlxuIik7CiAgICBmb3IgKGkgPSAwOyBpIDwgVG90YWwgLSBPY2hlbnRhOyBpKyspIHsKICAgICAgICBwcmludGYoIiVkICIsIHJlc3RvW2ldKTsKICAgIH0KICAgIHByaW50ZigiXG4iKTsKICAgIAogICAgZ2V0Y2hhcigpOwogICAgCiAgICByZXR1cm4gMDsKfQoKICAgIA==