Las variables en C siempre tienen basura en la memoria, siempre tenes que recorrer el vector e inicializarlo a 0 antes de hacer algo que requiera operaciones
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúTengo el siguiente código:
#include <stdio.h>
#include<conio.h>
main(){
float promAnual=0.0;
int numMeses, numToneladas,i, suma, mesTon = 0;
float toneladas[11];
/*el error que buscas probablemente esta aca, suma es del tipo int y si quisieras hacer operaciones
con floats tenes que hacer un casteo o
en este caso convertir suma en float*/
for(i = 0; i <= 11; i++){
printf("Ingrese la cantidad de toneladas del mes #%d->",i);
scanf("%f", &toneladas);
}
suma = 0;
for(i = 0; i <= 11; i++){
suma = suma + toneladas ;
}
promAnual = suma / 12.0;
for(i = 0; i <= 11; i++){
if(toneladas>promAnual){ //estas comparando un vector con un indice, no funciona
numMeses = numMeses + 1;
}
}
numToneladas = 0;
mesTon = 0;
for(i = 0; i <= 11; i++){
if(toneladas<toneladas[i+1]){ //aca igual
if(i<=11){
mesTon = (i+1);
numToneladas = toneladas[i+1];
}
}
}
//system("cls");
printf("El promedio anual es: %0.2f, %d mes(es) tuvieron mayor cosecha que el promedio anual, y el mayor numero de toneladas se produjo en el mes #%d con %0.2f", promAnual,numMeses,mesTon, numToneladas);
}