Ejercicio en C,Borland 5.02

Iniciado por SonaArtica, 7 Septiembre 2012, 20:22 PM

0 Miembros y 1 Visitante están viendo este tema.

SonaArtica

Bueno me re mareo el ejercicio, lo tengo que resolver usando For,If,operadores logicos y demas. No puedo utilizar ni vectores,ni funciones,nada de eso.
Aca les dejo el codigo hasta donde llegue y en el codigo aparece el enunciado del ejercicio, les pedidira el favor de que si el codigo cuando lo corrijan le dejen comentarios asi me puedo guiar bien.Saludos  >:D
PD: Es Lenguaje C y uso el Compilador Borland C++ 5.02
#include <stdio.h>
#include <conio.h>

/*Confeccionar un programa que: a)Solicite el ingreso de un valor "n"<=12 y luego
una lista de "n" numeros reales.
                                b)Calcule e Informe : -El Promedio de los Positivos,
                                -El Promedio de los Negativos,
                                                                -La Cantidad de Ceros.
                                c)Si el Valor Ingresado "n" es >12.Informar "Valor Excedido" y
                                terminar el programa.
*/
int main(){
int a=0,b=0,c=0,sum=0,res=0;
      float n,prompos,promneg,promceros,i,fabrix;
      printf("Ingrese el valor de n \n");
      scanf(" %f",&n);
      if (n<=12){
                 for(i=0;i<=10;i++){
                  printf("Ingrese Fabrix,num %d \n",fabrix);
                     scanf(" %f",&fabrix);
                  if(n>0){
                     sum+=fabrix;
                     a++;
                      }
                     if (n<0){
                     sum+=fabrix;
                     b++;
                      }
                     if (n==0){
                     sum+=fabrix;
                     c++;
                      }
                            }
      if(a!=0){
            prompos=sum/a;
            printf("El Promedio de los Positivos es %f \n",prompos);}
            if(b!=0){
            promneg=sum/b;
            printf("El Promedio de los Negativos es %f\n",promneg);}
            if(c!=0){
            promceros=c;
            printf("La Cantidad de Ceros es %f \n",promceros);}
      }
      else{
      printf("Valor Excedido- Fin del Programa FUCKK \n");}



getch();
      return 0;
}
<z

ecfisa

Hola SonaArtica.

Yo encararía el problema de otro modo:


#include <stdio.h>
#include <conio.h>

int main() {
  float p_pos=0, p_neg=0, v;
  int n_ceros=0 ,cant, i;

  // pedir cantidad de numeros
  printf("Cantidad de numeros reales (1-12): ");
  scanf("%d", &cant);
  if (cant < 1 || cant > 12) { // si rango invalido => terminar
    printf("Valor fuera de rango");
    getch();
    return 1;                 
  }

  // ingresar elementos
  for (i=0; i < cant; i++) {
    printf("Valor %d: ",i+1);
    scanf("%f", &v);
    if (v == 0)
      n_ceros++;  // sumar ceros
    else if (v > 0)
      p_pos += v; // sumatoria +
    else
      p_neg += v; // sumatoria -
  }

  // calcular promedios
  p_pos /= cant;  // prom +
  p_neg /= cant;  // prom -

  // mostrar
  printf("Promedio positivos :%8.2f\n", p_pos);
  printf("Promedio negativos :%8.2f\n", p_neg);
  printf("Cantidad de ceros  :%8d"  , n_ceros);

  getch();
  return 0;
}


Saludos.