fork download
  1. #include <stdio.h>
  2.  
  3. char *input_argv[] = { "prog.c", "12", "10", "17", "1", "22" }; // al posto di argv[]
  4. int input_argc = sizeof (input_argv) / sizeof (input_argv[0]); // al posto di argc
  5.  
  6. void
  7. bsort (int lista[], int a, int z)
  8. {
  9. int scambio;
  10. int k;
  11.  
  12. if (a < z)
  13. {
  14. // Scansione interna dell'array per collocare nella
  15. // posizione a l'elemento giusto.
  16.  
  17. for (k = a+1; k <= z; k++)
  18. {
  19. if (lista[k] < lista[a])
  20. {
  21. // Scambia i valori.
  22.  
  23. scambio = lista[k];
  24. lista[k] = lista[a];
  25. lista[a] = scambio;
  26. }
  27. }
  28.  
  29. bsort (lista, a+1, z);
  30. }
  31. }
  32.  
  33. int
  34. main (int argc, char *argv[])
  35. {
  36. int lista[input_argc-1];
  37. int i;
  38.  
  39. // Considera gli argomenti come gli elementi
  40. // dell'array da ordinare.
  41.  
  42. for (i = 1; i < input_argc; i++)
  43. {
  44. sscanf (input_argv[i], "%i", &lista[i-1]);
  45. }
  46.  
  47. // Esegue il riordino.
  48.  
  49. bsort (lista, 0, input_argc-2);
  50.  
  51. // Emette il risultato.
  52.  
  53. for (i = 0; i < (input_argc-1); i++)
  54. {
  55. printf ("%i ", lista[i]);
  56. }
  57. printf ("\n");
  58.  
  59. return 0;
  60. }
Success #stdin #stdout 0.01s 1720KB
stdin
Standard input is empty
stdout
1 10 12 17 22