/* ================================================================= */ /* ricercaseq ... */ /* Ricerca sequenziale. */ /* ================================================================= */ #include #include /* ================================================================= */ /* ricercaseq (, , , ) */ /* ----------------------------------------------------------------- */ int ricercaseq (int lista[], int x, int a, int z) { int i; /* Scandisce l'array alla ricerca dell'elemento. */ for (i = a; i <= z; i++) { if (x == lista[i]) { return i; } } /* La corrispondenza non è stata trovata. */ return -1; } /* ================================================================= */ /* Inizio del programma. */ /* ----------------------------------------------------------------- */ int main (int argc, char *argv[]) { /* int lista[argc-2]; */ int *lista = (int *) malloc ((argc - 2) * sizeof (int)); int x; int i; /* Acquisisce il primo argomento come valore da cercare. */ sscanf (argv[1], "%d", &x); /* Considera gli argomenti successivi come gli elementi */ /* dell'array da scandire. */ for (i = 2; i < argc; i++) { sscanf (argv[i], "%d", &lista[i-2]); } /* Esegue la ricerca. */ i = ricercaseq (lista, x, 0, argc-2); /* Emette il risultato. */ printf ("%d si trova nella posizione %d\n", x, i); return 0; }