Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: m@o_614 en 30 Junio 2012, 03:33 AM

Título: Programa for
Publicado por: m@o_614 en 30 Junio 2012, 03:33 AM
Saludos estoy haciendo este programa que me lee varios números y me da la suma, promedio, mayor y menor pero el problema que tengo es con el menor ya que no se como hacerlo sin tener que utilizar un vector, solo con el for

#include <stdio.h>
#include <stdlib.h>

/*Leer n valores enteros e imprimir la suma, promedio, producto, el mayor y el menor*/

int main()
{
    int cantidad,numero,i,suma=0,producto=1,mayor=0,menor=0;
    float promedio;
    printf("Dame el numero de enteros\n");
    scanf("%d",&cantidad);
    for(i=0;i<cantidad;i++)
    {
        printf("Numero\n");
        scanf("%d",&numero);
        suma+=numero;
        producto*=numero;
        if(numero>mayor)
           mayor=numero;
        else
           menor=numero;
    }
    printf("La suma es: %d\n",suma);
    printf("El producto es: %d\n",producto);
    promedio= (float)suma/cantidad;
    printf("El promedio es: %.2f\n",promedio);
    printf("El mayor es: %d\n",mayor);
    printf("El menor es: %d\n",menor);
    return 0;
}


gracias
Título: Re: Programa for
Publicado por: $Edu$ en 30 Junio 2012, 05:40 AM
Deja ejemplos de que numeros estas probando y que te devuelve asi te ayudaran mas rapido. Fijate que en tu verificacion if, pones solo > entonces el else tambien es valido para cuando son iguales, tal vez por ahi esta el fallo.
Título: Re: Programa for
Publicado por: durasno en 30 Junio 2012, 05:58 AM
Hola! creo q con poner if en ves del else alcanza

if(numero<menor)
   menor=numero;



Saludos


PD: no inicialices a menor=0 sino nunca te va a dar bien
Título: Re: Programa for
Publicado por: do-while en 30 Junio 2012, 09:22 AM
¡Buenas!

Tampoco inicialices mayor a cero, ya que tambien te dara valores no deseados si todos los elementos son negativos.

Tendras que leer el primer dato, asumir que tanto mayor como menor son iguales a este, y luego comparar los sucesivos datos con estos dos.

¡Saludos!