Aiuto programma C ricerca valore dentro vettore con funzione

di Anonimizzato15474 il
5 risposte
Buongiorno a tutti,
non riesco a venire a capo di uno stupido programma. Mi aiutate gentilmente?
#include <stdio.h>

int lineare(int scat[], int z);

int main ()
{
int n, i, x, val;
int scat[10];

for (x = 0; x <= 9; x++) {
	printf ("inserisci il valore %d della tabaella \n", x);
	scanf ("%d", &scat[x]);
    }

printf("inserisci il valore da cercare \n");
scanf ("%d", &val);

i = lineare(scat[10], val);

if (i == -1)
   printf ("il valore non e' prsente");
else
   printf ("il valore e' nella posizione %d", i);

return 0;
}

int lineare(int scat[], int z)
{
int punt;

for (punt = 0; punt <= 9; punt++)
   if (scat[punt] == z){
       return punt;
   }
return -1;
}

5 Risposte

  • CIoè? Cosa dovrebbe fare il programma? Che problema hai?
  • Il programma acquisisce una serie di valori e li inserisce in un vettore. Poi chiede un valore. Infine, tramite la funzione "lineare" , cerca se il valore è fra quelli inseriti in precedenza.
    Non funziona, cio+ dopo che inserisco il valore da cercare mi va in errore...
  • Ciao,
    basta mettere
    
    i = lineare(scat, val);
    
    Cioè senza il [10]. Devi solamente passare il nome dell'array.
  • Ovvero devi passare il puntatore all'array (che è il suo nome). Se passi

    scat[10]

    stai passando solamente un elemento del vettore.
  • Vero. giusto;
    lezione imparata finalmente;
    grazie!!!
Devi accedere o registrarti per scrivere nel forum
5 risposte