Programa de promedio de impares y pares

Cerrado
Valentina_7898 Mensajes enviados 1 Fecha de inscripción domingo, 27 de octubre de 2019 Estatus Miembro Última intervención domingo, 27 de octubre de 2019 - 27 oct 2019 a las 20:55
misterdekus Mensajes enviados 474 Fecha de inscripción miércoles, 10 de enero de 2018 Estatus Miembro Última intervención miércoles, 28 de agosto de 2024 - 29 oct 2019 a las 05:18
Hola, necesito hacer un programa que haga esto en c++ y no me funciona, agradecería mucho su ayuda.
//Realice un algoritmo con una función que le pedirá cíclicamente mediante un while un dato entero al usuario durante n ciclos.
//La función calculará e imprimirá en pantalla el promedio de todos los datos pares y aparte el promedio de los impares, ingresados por el usuario.
//La función no retornará nada y recibirá como parámetro el número de datos (ciclos) a ingresar.}
#include <stdio.h>
void prom(int);
int main ()
{
int n;
printf ("Ingrese el número de ciclos\n");
scanf ("%i",&n);
prom (n);
}
void prom (int s)
{
int i=1,d,contpa,contimp,pa=0,imp=0,promedio1,promedio2;
while (i<=s)
{
printf ("Ingrese un dato entero\n");
scanf ("%i",&d);
i++;
}
if (d%2==0)
{
pa+=d;
contpa ++;
if (contpa>0)
{
promedio1=(pa)/contpa;
printf ("El promedio de datos pares es %i\n",promedio1);
}
if (contpa==0)
{
printf ("El promedio de datos pares es 0 \n");
}
}
if (d%2!=0)
{
imp+=d;
contimp ++;
if(contimp>0)
{
promedio2=(imp)/contimp;
printf ("El promedio de datos impares es %f\n",promedio2);
}
if (contimp==0)
{
printf ("El promedio de datos impares es 0 \n");
}
}
}

1 respuesta

misterdekus Mensajes enviados 474 Fecha de inscripción miércoles, 10 de enero de 2018 Estatus Miembro Última intervención miércoles, 28 de agosto de 2024 127
29 oct 2019 a las 05:18
hola Valentina

estuviste cerca ...

el codigo ( en "prom(int)" esta mal acomodado )

este es tu codigo :
void prom (int s)
{
  int i=1,d,contpa,contimp,pa=0,imp=0,promedio1,promedio2;
  while (i<=s)
  {
    printf ("Ingrese un dato entero\n");
    scanf ("%i",&d);
    i++;
  }

  if (d%2==0)
  {
    pa+=d;
    contpa ++;
    if (contpa>0)
    {
      promedio1=(pa)/contpa;
      printf ("El promedio de datos pares es %i\n",promedio1);
    }
    if (contpa==0)
    {
      printf ("El promedio de datos pares es 0 \n");
    }
  }

  if (d%2!=0)
  {
    imp+=d;
    contimp ++;
    if(contimp>0)
    {
      promedio2=(imp)/contimp;
      printf ("El promedio de datos impares es %f\n",promedio2);
    }
    if (contimp==0)
    {
      printf ("El promedio de datos impares es 0 \n");
    }
  }
}


este sería el codigo bien

void prom (int s)
{
  int i=1,d,contpa=0,contimp=0,pa=0,imp=0,promedio1,promedio2;
  while (i<=s)
  {
    printf ("Ingrese un dato entero\n");
    scanf ("%i",&d);
    i++;

    if (d%2 == 0)
    {
      pa+=d;
      contpa ++;
    }
    else
    {
      imp+=d;
      contimp ++;
    }

  }

  if (contpa>0)
  {
    promedio1=(pa)/contpa;
    printf ("El promedio de datos pares es %i\n",promedio1);
  }
  if (contpa==0)
  {
    printf ("El promedio de datos pares es 0 \n");
  }

  if(contimp>0)
  {
    promedio2=(imp)/contimp;
    printf ("El promedio de datos impares es %i\n",promedio2);
  }
  if (contimp==0)
  {
    printf ("El promedio de datos impares es 0 \n");
  }
}


saludos
0