Funzioni ed Array - valori array dal main alla funzione

di il
2 risposte

Funzioni ed Array - valori array dal main alla funzione

Ciao a tutti,

premetto che ho cercato nelle discussioni ma non sono riuscito a trovare la risposta al mio quesito, forse perché è un problema minore per molti...

sto studiando C e mi trovo alle funzioni, mi sto esercitando a volte inventando di sana pianta l'idea del programma.
brevemente:
nel main richiedo l'inserimento da tastiera di n numeri e di un valore v.
la funzione deve cercare il valore v all'interno dell'array di n numeri.
il problema per me è che quando entro nella parte della funzione e chiedo di confrontare, all'interno di un ciclo for, i valori dell'array con il valore v, questo non mi riesce...
E' possibile passare dal main tutto l'array pieno dei valori inseriti in modo che quando richiamo la funzione essa possa confrontare array con v?
spero di essere stato comprensibile...

2 Risposte

  • Re: Funzioni ed Array - valori array dal main alla funzione

    Cosa c'è di così complicato:
    
    #include <stdio.h>
    
    int cerca(int v[], const int size, int valore);
    
    int main()
    {
    	int v[] = {1,2,3,4,5,6,7,8,9};
    	int valore = 5;
    	const int size = sizeof(v) / sizeof(v[0]);
    	int pos = cerca(v,size,valore);
    	if(pos != -1)
    		printf("Valore trovato nella posizione %d",pos);
    	else
    		printf("Valore non trovato");
    	return 0;
    }
    
    int cerca(int v[], const int size, int valore)
    {
    	int i = 0;
    
    	for(i = 0; i < size; i++)
    	{
    		if(v[i] == valore)
    			return i;
    	}
    	return -1;
    }
    
  • Re: Funzioni ed Array - valori array dal main alla funzione

    Ok, risolto grazie.
    lo trovavo complicato probabilmente perché non passavo correttamente l'array quando richiamavo la funzione dal main.
    infatti tu hai scritto
       int pos = cerca(v,size,valore);
    mentre io dopo la v inserivo anche le parentesi []
Devi accedere o registrarti per scrivere nel forum
2 risposte