fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define Total 100
  6. #define Ochenta 80
  7.  
  8. // Función para comparar dos enteros (usada para qsort)
  9. int comparar(const void *a, const void *b) {
  10. return (*(int *)a - *(int *)b);
  11. }
  12.  
  13. int main() {
  14. int numeros[Total];
  15. int muestra[Ochenta];
  16. int resto[Total - Ochenta];
  17. int i, j;
  18.  
  19. // Inicializar la semilla para la generación de números aleatorios
  20. srand(time(NULL));
  21.  
  22. // Llenar el arreglo de numeros con valores del 1 al 100
  23. for (i = 0; i < Total; i++) {
  24. numeros[i] = i + 1;
  25. }
  26.  
  27. // Seleccionar 80 números aleatorios
  28. for (i = 0; i < Ochenta; i++) {
  29. int index = rand() % (Total - i);
  30. muestra[i] = numeros[index];
  31.  
  32. // Mover el número seleccionado al final del arreglo
  33. numeros[index] = numeros[Total - i - 1];
  34. }
  35.  
  36. // Ordenar los números seleccionados de menor a mayor
  37. qsort(muestra, Ochenta, sizeof(int), comparar);
  38.  
  39. // Mostrar los 80 números seleccionados
  40. printf("80 números seleccionados de menor a mayor:\n");
  41. for (i = 0; i < Ochenta; i++) {
  42. printf("%d ", muestra[i]);
  43. }
  44. printf("\n");
  45.  
  46. // Encontrar el resto de los números (los que no fueron seleccionados)
  47. int k = 0;
  48. for (i = 0; i < Total; i++) {
  49. int encontrado = 0;
  50. for (j = 0; j < Ochenta; j++) {
  51. if (numeros[i] == muestra[j]) {
  52. encontrado = 1;
  53. break;
  54. }
  55. }
  56. if (!encontrado) {
  57. resto[k++] = numeros[i];
  58. }
  59. }
  60.  
  61. // Ordenar el resto de los números de menor a mayor
  62. qsort(resto, Total - Ochenta, sizeof(int), comparar);
  63.  
  64. // Mostrar el resto de los números
  65. printf("Resto de los números de menor a mayor:\n");
  66. for (i = 0; i < Total - Ochenta; i++) {
  67. printf("%d ", resto[i]);
  68. }
  69. printf("\n");
  70.  
  71.  
  72. return 0;
  73. }
  74.  
  75.  
  76.  
Success #stdin #stdout 0s 5284KB
stdin
Standard input is empty
stdout
80 números seleccionados de menor a mayor:
3 4 5 6 7 8 11 12 13 14 15 16 18 19 21 22 23 24 25 26 27 29 30 31 32 34 35 36 38 39 41 42 43 44 45 46 47 49 51 52 53 54 55 56 58 59 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 77 78 79 80 81 82 83 86 87 88 89 91 92 93 95 96 98 99 100 
Resto de los números de menor a mayor:
1 2 9 10 17 20 28 33 37 40 48 50 57 61 76 84 85 90 94 97