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. int comparar(const void *a, const void *b) {
  9. return (*(int *)a - *(int *)b);
  10. }
  11.  
  12. int main() {
  13. int numeros[Total];
  14. int muestra[Ochenta];
  15. int resto[Total - Ochenta];
  16. int i, j;
  17.  
  18. srand(time(NULL));
  19.  
  20. for (i = 0; i < Total; i++) {
  21. numeros[i] = i + 1;
  22. }
  23.  
  24. for (i = 0; i < Ochenta; i++) {
  25. int index = rand() % (Total - i);
  26. muestra[i] = numeros[index];
  27.  
  28. numeros[index] = numeros[Total - i - 1];
  29. }
  30.  
  31. qsort(muestra, Ochenta, sizeof(int), comparar);
  32.  
  33. printf("80 números del 1 al 100 ordenados de menor a mayor:\n");
  34. for (i = 0; i < Ochenta; i++) {
  35. printf("%d ", muestra[i]);
  36. }
  37. printf("\n");
  38.  
  39. int k = 0;
  40. for (i = 0; i < Total; i++) {
  41. int encontrado = 0;
  42. for (j = 0; j < Ochenta; j++) {
  43. if (numeros[i] == muestra[j]) {
  44. encontrado = 1;
  45. break;
  46. }
  47. }
  48. if (!encontrado) {
  49. resto[k++] = numeros[i];
  50. }
  51. }
  52.  
  53. qsort(resto, Total - Ochenta, sizeof(int), comparar);
  54.  
  55. printf("Los 20 números restantes del intervalo ordenados de menor a mayor:\n");
  56. for (i = 0; i < Total - Ochenta; i++) {
  57. printf("%d ", resto[i]);
  58. }
  59. printf("\n");
  60.  
  61.  
  62. return 0;
  63. }
  64.  
  65.  
Success #stdin #stdout 0s 5276KB
stdin
Standard input is empty
stdout
80 números del 1 al 100 ordenados de menor a mayor:
1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 38 39 40 42 45 46 47 48 49 51 53 54 57 59 60 61 63 65 66 67 68 69 70 71 73 74 75 76 77 78 80 81 82 83 84 85 86 87 88 89 90 92 93 95 97 98 99 100 
Los 20 números restantes del intervalo ordenados de menor a mayor:
5 19 20 21 37 41 43 44 50 52 55 56 58 62 64 72 79 91 94 96