Programa for

Iniciado por m@o_614, 30 Junio 2012, 03:33 AM

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

m@o_614

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

$Edu$

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.

durasno

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
Ahorrate una pregunta, lee el man

do-while

¡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!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!