#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define Total 100
#define Ochenta 80
// Función para comparar dos enteros (usada para qsort)
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;
// Inicializar la semilla para la generación de números aleatorios
// Llenar el arreglo de numeros con valores del 1 al 100
for (i = 0; i < Total; i++) {
numeros[i] = i + 1;
}
// Seleccionar 80 números aleatorios
for (i = 0; i < Ochenta; i++) {
int index
= rand() % (Total
- i
); muestra[i] = numeros[index];
// Mover el número seleccionado al final del arreglo
numeros[index] = numeros[Total - i - 1];
}
// Ordenar los números seleccionados de menor a mayor
qsort(muestra
, Ochenta
, sizeof(int), comparar
);
// Mostrar los 80 números seleccionados
printf("80 números seleccionados de menor a mayor:\n"); for (i = 0; i < Ochenta; i++) {
}
// Encontrar el resto de los números (los que no fueron seleccionados)
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];
}
}
// Ordenar el resto de los números de menor a mayor
qsort(resto
, Total
- Ochenta
, sizeof(int), comparar
);
// Mostrar el resto de los números
printf("Resto de los números de menor a mayor:\n"); for (i = 0; i < Total - Ochenta; i++) {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRpbWUuaD4KCiNkZWZpbmUgVG90YWwgMTAwCiNkZWZpbmUgT2NoZW50YSA4MAoKLy8gRnVuY2nDs24gcGFyYSBjb21wYXJhciBkb3MgZW50ZXJvcyAodXNhZGEgcGFyYSBxc29ydCkKaW50IGNvbXBhcmFyKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpIHsKICAgIHJldHVybiAoKihpbnQgKilhIC0gKihpbnQgKiliKTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgbnVtZXJvc1tUb3RhbF07CiAgICBpbnQgbXVlc3RyYVtPY2hlbnRhXTsKICAgIGludCByZXN0b1tUb3RhbCAtIE9jaGVudGFdOwogICAgaW50IGksIGo7CiAgICAKICAgIC8vIEluaWNpYWxpemFyIGxhIHNlbWlsbGEgcGFyYSBsYSBnZW5lcmFjacOzbiBkZSBuw7ptZXJvcyBhbGVhdG9yaW9zCiAgICBzcmFuZCh0aW1lKE5VTEwpKTsKICAgIAogICAgLy8gTGxlbmFyIGVsIGFycmVnbG8gZGUgbnVtZXJvcyBjb24gdmFsb3JlcyBkZWwgMSBhbCAxMDAKICAgIGZvciAoaSA9IDA7IGkgPCBUb3RhbDsgaSsrKSB7CiAgICAgICAgbnVtZXJvc1tpXSA9IGkgKyAxOwogICAgfQogICAgCiAgICAvLyBTZWxlY2Npb25hciA4MCBuw7ptZXJvcyBhbGVhdG9yaW9zCiAgICBmb3IgKGkgPSAwOyBpIDwgT2NoZW50YTsgaSsrKSB7CiAgICAgICAgaW50IGluZGV4ID0gcmFuZCgpICUgKFRvdGFsIC0gaSk7CiAgICAgICAgbXVlc3RyYVtpXSA9IG51bWVyb3NbaW5kZXhdOwogICAgICAgIAogICAgICAgIC8vIE1vdmVyIGVsIG7Dum1lcm8gc2VsZWNjaW9uYWRvIGFsIGZpbmFsIGRlbCBhcnJlZ2xvCiAgICAgICAgbnVtZXJvc1tpbmRleF0gPSBudW1lcm9zW1RvdGFsIC0gaSAtIDFdOwogICAgfQogICAgCiAgICAvLyBPcmRlbmFyIGxvcyBuw7ptZXJvcyBzZWxlY2Npb25hZG9zIGRlIG1lbm9yIGEgbWF5b3IKICAgIHFzb3J0KG11ZXN0cmEsIE9jaGVudGEsIHNpemVvZihpbnQpLCBjb21wYXJhcik7CiAgICAKICAgIC8vIE1vc3RyYXIgbG9zIDgwIG7Dum1lcm9zIHNlbGVjY2lvbmFkb3MKICAgIHByaW50ZigiODAgbsO6bWVyb3Mgc2VsZWNjaW9uYWRvcyBkZSBtZW5vciBhIG1heW9yOlxuIik7CiAgICBmb3IgKGkgPSAwOyBpIDwgT2NoZW50YTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCIlZCAiLCBtdWVzdHJhW2ldKTsKICAgIH0KICAgIHByaW50ZigiXG4iKTsKICAgIAogICAgLy8gRW5jb250cmFyIGVsIHJlc3RvIGRlIGxvcyBuw7ptZXJvcyAobG9zIHF1ZSBubyBmdWVyb24gc2VsZWNjaW9uYWRvcykKICAgIGludCBrID0gMDsKICAgIGZvciAoaSA9IDA7IGkgPCBUb3RhbDsgaSsrKSB7CiAgICAgICAgaW50IGVuY29udHJhZG8gPSAwOwogICAgICAgIGZvciAoaiA9IDA7IGogPCBPY2hlbnRhOyBqKyspIHsKICAgICAgICAgICAgaWYgKG51bWVyb3NbaV0gPT0gbXVlc3RyYVtqXSkgewogICAgICAgICAgICAgICAgZW5jb250cmFkbyA9IDE7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoIWVuY29udHJhZG8pIHsKICAgICAgICAgICAgcmVzdG9baysrXSA9IG51bWVyb3NbaV07CiAgICAgICAgfQogICAgfQogICAgCiAgICAvLyBPcmRlbmFyIGVsIHJlc3RvIGRlIGxvcyBuw7ptZXJvcyBkZSBtZW5vciBhIG1heW9yCiAgICBxc29ydChyZXN0bywgVG90YWwgLSBPY2hlbnRhLCBzaXplb2YoaW50KSwgY29tcGFyYXIpOwogICAgCiAgICAvLyBNb3N0cmFyIGVsIHJlc3RvIGRlIGxvcyBuw7ptZXJvcwogICAgcHJpbnRmKCJSZXN0byBkZSBsb3MgbsO6bWVyb3MgZGUgbWVub3IgYSBtYXlvcjpcbiIpOwogICAgZm9yIChpID0gMDsgaSA8IFRvdGFsIC0gT2NoZW50YTsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCIlZCAiLCByZXN0b1tpXSk7CiAgICB9CiAgICBwcmludGYoIlxuIik7CiAgICAKICAgIGdldGNoYXIoKTsKICAgIAogICAgcmV0dXJuIDA7Cn0KCgogICAg