Problema con somma elementi array usando funzioni

di Anonimizzato25148 il
17 risposte

17 Risposte - Pagina 2

  • Le due funzioni non hanno senso.

    isDispari dovrebbe agire su un singolo elemento dell'array, non su tutto l'array

    sommaDisp utilizza un vettore int *s che non so da dove prendi e a cosa ti serva ... il vettore è int *a passato come argomento
  • Risolto
    #include <stdio.h>
    #include <stdbool.h>
    
    bool isDispari(int *a, int i){
    		return (a[i]%2)==1;
    }
    
    int sommaDisp(int *a, int n){
    	int i,sD=0;
    	for(i=0;i<n;i++)
    		if(isDispari(a,i))
    			sD+=a[i];
    	return sD;
    }
    	
    int main(){
    	int n,i;
    	printf("Inserisci lunghezza array");
    	scanf("%d",&n);
    	int a[n];
    		for(i=0;i<n;i++){
    		printf("Inserisci elemento %d dell'array\n",i);
    		scanf("%d",&a[i]);
    	}
    	printf("La somma degli elementi dispari e' %d",sommaDisp(a,n));
    
    	return 0;
    }
    Potevi dirlo fin dall'inizio che le funzioni non andavano bene, ho messo tutto il codice nel testo della domanda per un motivo... comunque adesso funziona, grazie
  • Ho risposto alla questione dell'errore che avevi posto. Non ho il tempo di fare la correzione completa degli esercizi.

    Comunque prego non c'è di che.
Devi accedere o registrarti per scrivere nel forum
17 risposte