fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. char *input_argv[] = { "prog.c", "11", "5", "7", "11", "22" }; // al posto di argv[]
  5. int input_argc = sizeof (input_argv) / sizeof (input_argv[0]); // al posto di argc
  6.  
  7. int
  8. ricercaseq (int lista[], int x, int a, int z)
  9. {
  10. int i;
  11.  
  12. // Scandisce l'array alla ricerca dell'elemento.
  13.  
  14. for (i = a; i <= z; i++)
  15. {
  16. if (x == lista[i])
  17. {
  18. return i;
  19. }
  20. }
  21.  
  22. // La corrispondenza non è stata trovata.
  23.  
  24. return -1;
  25. }
  26.  
  27. int
  28. main (int argc, char *argv[])
  29. {
  30. int *lista = (int *) malloc ((input_argc - 2) * sizeof (int));
  31. int x;
  32. int i;
  33.  
  34. // Acquisisce il primo argomento come valore da cercare.
  35.  
  36. sscanf (input_argv[1], "%i", &x);
  37.  
  38. // Considera gli argomenti successivi come gli elementi
  39. // dell'array da scandire.
  40.  
  41. for (i = 2; i < input_argc; i++)
  42. {
  43. sscanf (input_argv[i], "%i", &lista[i-2]);
  44. }
  45.  
  46. // Esegue la ricerca.
  47.  
  48. i = ricercaseq (lista, x, 0, input_argc - 2);
  49.  
  50. // Emette il risultato.
  51.  
  52. printf ("%i si trova nella posizione %i\n", x, i);
  53.  
  54. return 0;
  55. }
Success #stdin #stdout 0.01s 1852KB
stdin
Standard input is empty
stdout
11 si trova nella posizione 2