elrincondelc.com
Inicio :: Foros
Usuario: Clave: Regístrate
Salir


-Ayuda: un poco con bucles en programa-

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
Tecnoboy



Registrado: 23 Sep 2010
Mensajes: 12

MensajePublicado: 23/09/2010 11:46 am Responder citando
Título: -Ayuda: un poco con bucles en programa-

Primero que nada buen dia y gracias de antemano...

Bueno sucede que llevo semanas aprendiendo C y me he esforzado por aprenderlo todo sin embargo por razones de salud falte a dos clases y ahora no entiendo mucho acerca de for, while y do while ya he leido libros y buscado en google pero no entiendo del todo!! Crying or Very sad

Lo que estoy haciento o mas bien lo que intento hacer es este programa: Dado como datos 270 numeros enteros, obtenga la suma de los numeros impares y el promedio de los numeros pares.
Tengo el pseudocodigo y lo unico que trate hacer es pasarlo a C y obtuve esto:


#include <stdio.h>
main()
{
int I, NUM, CUEPAR;
float SUMPAR = 0;
float SUMIMP = 0;
float PROPAR = 0;
{
for ( I=1 ; I<10 ; I++)
{
printf("ingrese un numero ");
scanf("%i", &NUM);;

if (NUM < 0)
{
if ((-1*NUM) > 0)
{
(SUMPAR = SUMPAR+NUM) && (CUEPAR = CUEPAR + 1);
}
else SUMIMP = SUMIMP + NUM;
}
I = I+1;
}
PROPAR = (SUMPAR/CUEPAR);
printf("\nEl promedio de los pares es: %f \ny la suma de los impares es: %f", PROPAR, SUMIMP);
}
}


Bueno el programa corre, pero claro no hace lo que debe hacer bueno realmente no se que debe hacer Rolling Eyes
si me ayudaran un poco explicando y que puedo mejorar gracias!! Very Happy
Volver arriba
Ver perfil del usuario Enviar mensaje privado
polly



Registrado: 19 Jul 2007
Mensajes: 619
Ubicación: Valladolid (Spain)

MensajePublicado: 23/09/2010 1:28 pm Responder citando
Título:

Es sencillo. Para saber si un numero es par basta con saber si al divirlo entre 2 el resto da cero. Para esto usamos el operador de modulo '%'.
Por tanto si tenemos en la variable 'n' el numero :
Código:

if (n % 2 == 0)
    /* el numero es par */
else
    /* El numero es impar */


Entonces el codigo quedaria asi:

Código:

#include <stdio.h>

int main() {

    int i, n, suma_impares, suma_pares, pares, total;
    double promedio_pares;

    suma_impares = suma_pares = pares = promedio_pares = 0;

    printf("Introduzca la cantidad de numeros a procesar: \n");
    scanf("%d", &total);

    /* Leemos los numeros */
    for (i = 0; i < total; i++) {
        scanf("%d", &n);
        if (n % 2 != 0) { /* Es par */
            suma_impares = suma_impares + n;
        } else { /* Es impar */
            suma_pares = suma_pares + n;
            pares++;
        }
    }

    /* Promedio de los pares */
    if (pares != 0)
        promedio_pares = (double)suma_pares/pares;

    printf("Suma de impares: %d\n", suma_impares);
    printf("Promedio de pares: %.3f\n", promedio_pares);
    return 0;
}

_________________
enrmarc
Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
Tecnoboy



Registrado: 23 Sep 2010
Mensajes: 12

MensajePublicado: 23/09/2010 2:40 pm Responder citando
Título:

Hey Polly gracias por tu respuesta!!! asi si lo entiendo...
lo que me confunde es el pseudocodigo de donde lo saque que es este:

Código:

PARES_E_IMPARES
{E l programa dados 270 numeros enteros, obtiene la suma d elos numeros impares y el promedio de los numeros pares}

{I, NUM, CUEPAR son variables de tipo entero. SUMPAR, SUMIMP y PROPAR son variables de tipo real}

1. Hacer SUMPAR=0, SUMIMP =0, CUEPAR =0 e I=1
2. Repetir con I desde 1 hasta 270
             Leer NUM
     2.1 Si (NUM <>0)
       2.1.1 Si (-1**NUM)>0
           Entonces
               Hacer SUMPAR = SUMPAR + NUM y CUEPAR=CUEPAR+1
           Sino
              Hacer SUMIMP = SUMIMP + NUM
        2.1.2 {fin del condicional del paso 2.1.1}
     2.2{fin del condicional del paso 2.1}
         Hacer I = I + 1
3.{fin del ciclo del paso 2}
4. Hacer PROPAR = SUMPAR/CUEPAR
5. Escribir PROPAR y SUMPAR


Esto es lo que me confunde =S
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1 Todas las horas están en GMT - 8 Horas

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com, 1999-2007

Un proyecto de UrlanHeat.com