Calcolare la somma dei numeri negativi

di Bug_Digitale il
4 risposte
Salve, devo creare un programma dove dopo aver letto e memorizzato 8 numeri in un array, calcolare la somma di quelli negativi e memorizzare zero al loro posto. Ho scritto un po' di codice ma credo di aver sbagliato proprio il modo in cui calcolare i numeri negativi.. qualcuno può darmi un consiglio?

#include<stdio.h>
#define N 8

void sommaNeg(float a[]){                     
	int i, n=0;
	float somma;
	
	if(a[i]<0){
	for(i=0;i<N;i++){
			a[i]=a[i]-n;                            
			n=a[i];
			somma=a[i];	
		}
	}
	printf("La somma di tutti i valori negativi e': %f", somma);
}

void main(){
	float arrayIn[N];
	int i;
	
	printf("Inserire i numeri dell'array: ");
	for(i=0;i<N;i++){
		scanf("%f",&arrayIn[i]);
	}
	sommaNeg(arrayIn);
}
Sulla sostituzione degli zeri ancora non scrivo nulla perché prima vorrei risolvere questo ahaha

4 Risposte

  • Non credi che la if per il test del numero negativo vada messa DENTRO al for che scorre gli elementi dell'array? Poi, spiega che cosa stai facendo dentro al for...

    Quello che andrebbe fatto, in pseudo-codice è:
    
    per ciascun elemento dell'array {
       se l'elemento i-esimo è negativo {
          somma = somma + elemento i-esimo;
       }
    }
    
  • Devi fare una somma e non c'è neanche un +
  • Se si fa copia e incolla di pezzi di codice di altri esercizi che fanno altro... questo è il risultato
  • SpiritoLibero ha scritto:


    Non credi che la if per il test del numero negativo vada messa DENTRO al for che scorre gli elementi dell'array? Poi, spiega che cosa stai facendo dentro al for...

    Quello che andrebbe fatto, in pseudo-codice è:
    
    per ciascun elemento dell'array {
       se l'elemento i-esimo è negativo {
          somma = somma + elemento i-esimo;
       }
    }
    
    giusto giusto, grazie. Onestamente non so perché mi confondeva molto il fatto di fare la somma tra numeri negativi e non riuscivo a rappresentarlo. Grazie mille !
Devi accedere o registrarti per scrivere nel forum
4 risposte