[Curso] Introducción a la programación en C (VIII)

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
cripii5
Experto
Experto
Mensajes: 1948
Registrado: 14 Dic 2010, 03:15
Gamertag Xbox Live: cripii5
Steam ID: cripii5
Twitter: cripii5
Ubicación: Uruguay

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por cripii5 »

Corregidos 1 y 2.
3, 4 y 5 listos
Yo

haddad
Novato
Novato
Mensajes: 22
Registrado: 06 Abr 2011, 23:09

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por haddad »

He aquí mi primer ejercicio

Código: Seleccionar todo

#include <stdio.h>

int main (int argc, char* argv[])
{

int num, x;

    printf("introduce un numero entero\n");
    scanf("%d", &num);
    printf("\n\n");
   
    if((num<20)&&(num %2==0))
    {
        printf("el numero es menor que 20 y par");
    }
    else
    {
        printf("no es mayor que 20 o no es par, o ninguna de las 2\n");
    }
     
    return 0;
   
}


-- Doble Post --

El segundo...

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
    float num1, num2, suma, multiplicacion, media;
   
    printf("introduce un numero real\n");
    scanf("%f", &num1);
   
    printf("introduce otro numero real\n");
    scanf("%f", &num2);
   
    suma=num1+num2;
    multiplicacion=num1*num2;
    media=suma/2;
   
    if(suma>20)
    {
        printf("la suma es mayor que 20\n");
    }
    else
    {
        printf("la suma no es mayor que 20\n");
    }
   
    if(multiplicacion>20)
    {
        printf("el producto es mayor que 20\n");
    }
    else
    {
        printf("el producto de la multiplicacion es menor o igual a 20\n");
    }
   
    if(media<20)
    {
        printf("la media no es mayor que 20\n");
    }
    else
    {
        printf("la media es menor que 20\n");
    }

      return 0;

}

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por m0skit0 »

Excelente haddad. Veo que ya has interiorizado lo del formateo, excelente.
Imagen

haddad
Novato
Novato
Mensajes: 22
Registrado: 06 Abr 2011, 23:09

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por haddad »

Ejercicio 4

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{

    int num, cont=1, cont2=0;
   
    printf("Ingrese un numero: ");
    scanf("%d", &num);
   
    if((num % 2==0)&&(num!=2))
    {
        printf("El numero no es primo\n");
    }
   
    else if (num==2)
    {
        printf("El 2 es el unico numero par que es primo\n");
    }
       
    else if(num==1)
    {   
        printf("numero no valido\n");
    }
         
       
    else
    {
        while (cont<num)
        {
            if(num%cont==0)
            {
                cont2++;               
            }     
           
            cont++;
        }
           
        if(cont2>2)
        {
            printf("%d no es primo\n", num);
        }
           
        else
        {
            printf("%d es primo\n", num);     
        }
           
    }
   
    return 0;
}


-- Doble Post --

pronto postearé el ejercicio 3

-- Doble Post --

Ejercicio 3

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{

    int max=0, cont=0, num1, num2, suma;

    printf("\t--Introduce un numero entero--\n\t\t");
    scanf("%d", &num1);
   
    printf("\t--Introduce otro numero--\n\t\t");
    scanf("%d", &num2);
   
    if(num1>num2)
    {
        max=num1;
    }
       
    else
    {   
        max=num2;
       
        suma=num1+num2;
    }   
   
    if(suma % 2==0)
    {
        cont=2;
       
        while(cont<=max)
        {
            printf("\t\n%d", cont);
            cont+=2;
                         
        }
           
    }
   
    else
    {
        cont=1;
       
        while(cont<=suma)
        {
            printf("\t\n%d", cont);
            cont+=2;
        }
       
    }
   
    return 0;
}

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por m0skit0 »

La próxima vez por favor espera a tenerlos los 2 y los posteas a la vez, es mucho más limpio.

haddad escribió:Ejercicio 4

No está mal, ¿pero qué pasa si introduzco -1? Hay que controlar los errores y los posibles valores que podemos recibir. Este ejemplo es muy sencillo y aún así te has olvidado de los números negativos...

El bucle while se puede reducir, y mucho (me refiero a las vueltas que tiene que dar). Además, ¿para qué cont = 1 si 1 siempre divide a cualquier número? ¿Para qué sigues con el bucle cuando y sabes que no es primo (si entra en el if, ya no es primo)? Y más cosas. Vuelve a pensarlo más tranquilamente e intenta no hacer operaciones superfluas.

haddad escribió:Ejercicio 3

Buf...

Código: Seleccionar todo

if(num1>num2)
{
   max=num1;
}       
else
{   
   max=num2;       
   suma=num1+num2;
}

La suma la haces sólo si num2 >= num1 cuando la debes hacer siempre. Y por favor deja espacios entre las cosas, que no cuesta nada y queda mucho más legible, algo como

Código: Seleccionar todo

if (num1 > num2)

Código: Seleccionar todo

suma = num1 + num2;


Código: Seleccionar todo

if(suma % 2==0)

¿Y qué valor tiene suma si num1 > num2? :roll:

Código: Seleccionar todo

while(cont<=max)
{
   printf("\t\n%d", cont);
   cont+=2;            
}

Código: Seleccionar todo

while(cont<=suma)
{
   printf("\t\n%d", cont);
   cont+=2;            
}

Estos bucles son demasiado parecidos. Apáñatelas para dejar uno solo.

La próxima vez por favor tómate tu tiempo y haz los ejercicios con tranquilidad, que me da la impresión que crees que estos ejercicios son demasiado fáciles para ti cuando estás totalmente equivocada. A esto me refería con que flojeabas en la base.
Imagen

haddad
Novato
Novato
Mensajes: 22
Registrado: 06 Abr 2011, 23:09

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por haddad »

Ejercicio 5

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{

    int jug1, jug2, cont=1, inte=5;
   
    printf("Introduce un numero entre 0 y 10\n");
    scanf("%d", &jug1);
   
    printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
   
   
    while(cont<= inte)
    {
        printf("intento %d\n", cont);
        scanf("%d", &jug2);
       
        if(jug2!= jug1)
        {
            printf("sigue intentando\n\n"); 
            cont++;           
        }
       
        else
        {
            printf("acertaste!!!\n\n");
            return 0;
        }
       
    }
                                   
     return 0;
}

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por m0skit0 »

Código: Seleccionar todo

else
{
   printf("acertaste!!!\n\n");
   return 0;
}

Nop. Sólo un return por función.
Imagen

haddad
Novato
Novato
Mensajes: 22
Registrado: 06 Abr 2011, 23:09

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por haddad »

Y esto?

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{

    int jug1, jug2, cont=1, inte=5;
   
    printf("Introduce un numero entre 0 y 10\n");
    scanf("%d", &jug1);
   
    printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
   
    bool acer=false;
    while((cont<= inte)&&(acer==false))
    {
        printf("intento %d\n", cont);
        scanf("%d", &jug2);
       
        if(jug2!= jug1)
        {
            printf("sigue intentando\n\n");
            acer=false;
            cont++;           
        }
       
        else
        {
            printf("acertaste!!!\n\n");
            acer=true;
        }
    }
   
    if(acer==false)
    {
        printf("perdiste, tus intentos se han acabado\n");               
    }
                                   
     return 0;
}


Avatar de Usuario
~Rdavid~
Experto
Experto
Mensajes: 965
Registrado: 12 Nov 2009, 17:29
Ubicación: Costa Rica

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por ~Rdavid~ »

En C no hay booleanos, mejor usa constantes o algo parecido :)
Imagen

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (VIII)

Mensaje por m0skit0 »

~Rdavid~ escribió:En C no hay booleanos

Lo dicho. Esto también te pasa por estar usando un compilador de C++ en vez de uno de C.

Pero ésa es la idea :oki: Y no olvides los otros 2 problemas anteriores.
Imagen

Responder