Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problemas con el if

Estas en el tema de Problemas con el if en el foro de C/C++ en Foros del Web. Me encargaron este programa: En un arreglo unidimensional de tipo real se tienen almacenadas las toneladas mensuales de cereales cosechadas durante el año anterior en ...
  #1 (permalink)  
Antiguo 03/03/2016, 18:43
 
Fecha de Ingreso: marzo-2016
Mensajes: 1
Antigüedad: 8 años, 8 meses
Puntos: 0
Problemas con el if

Me encargaron este programa:

En un arreglo unidimensional de tipo real se tienen almacenadas las toneladas

mensuales de cereales cosechadas durante el año anterior en una estancia de la

pampa Argentina. Escribe un programa que calcule e imprima lo siguiente:

a) El promedio anual de toneladas cosechadas.

b) ¿Cuántos meses tuvieron una cosecha superior al promedio anual?

c) ¿En qué mes se produjo el mayor número de toneladas? ¿Cuántas fueron?

Dato: COS[12] (arreglo unidimensional de tipo real de 12 elementos).

Ya hice el inciso a solo me falta hacer el inciso b y c pero nose como hacerlos solo se que se hacen con if

Esto es lo que llevo:

Código:
#include<stdio.h>

main()
{
	float prom;
	int i, suma=0;
	int cos[12];
	
	for(i=0;i<=11;i++)
	{
		printf("Ingresa las toneladas cosechadas del mes %i: ",i+1);
		scanf("%d", &cos[i]);
		suma=suma+cos[i];
		
	}
	
	prom=suma/12;
	printf("\nEl promedio anual es de: %.2f\n", prom);
	
	if(cos[i]>prom)
	
	{
		printf("\n%d meses tuvieron una cosecha superior al promedio anual\n", cos[i]);
	}
	
	system("PAUSE");
	return 0;
}
La verdad siento que esta mal pero no se como hacerlo
  #2 (permalink)  
Antiguo 03/03/2016, 23:08
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Respuesta: Problemas con el if

Estas cerca.

Código:
if(cos[i]>prom)	
	{
		printf("\n%d meses tuvieron una cosecha superior al promedio anual\n", cos[i]);
	}
En ese código ten en cuenta que ya estas fuera del for, por lo tanto la variable i contiene el valor 12 por lo tanto equivale a

Código:
if ( cos[12] > prom )
Lo cual está mal.

No pienses en código. Piensa en como lo harías matematicamente.

Te estan pidiendo las cosechas mayores al promedio. Ya sacaste el promedio, ya tienes los datos de las cosechas. Tienes que comparar el promedio con cada cosecha y usar un acumulador (una variable que se incrementa en 1).

En el caso del inciso c, es un problema de máximos. Igual, sin código, piensa como encuentras el máximo valor de un conjunto de valores.

Eso te va a ayudar.
Saludos

Etiquetas: int, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:32.