[Curso] Introducción a la programación en C (VIII)
Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06
Re: [Curso] Introducción a la programación en C (VIII)
He aquí mi primer ejercicio
-- Doble Post --
El segundo...
			
			
									
									
						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;
}
Re: [Curso] Introducción a la programación en C (VIII)
Excelente haddad. Veo que ya has interiorizado lo del formateo, excelente.
			
			
									
									
Re: [Curso] Introducción a la programación en C (VIII)
Ejercicio 4
-- 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 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;
}
Re: [Curso] Introducción a la programación en C (VIII)
La próxima vez por favor espera a tenerlos los 2 y los posteas a la vez, es mucho más limpio.
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.
Buf...
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
¿Y qué valor tiene suma si num1 > num2?
 
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.
			
			
									
									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?
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.

Re: [Curso] Introducción a la programación en C (VIII)
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; 
}
Re: [Curso] Introducción a la programación en C (VIII)
Código: Seleccionar todo
else
{
   printf("acertaste!!!\n\n");
   return 0;
}Nop. Sólo un return por función.

Re: [Curso] Introducción a la programación en C (VIII)
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;
}
Re: [Curso] Introducción a la programación en C (VIII)
En C no hay booleanos, mejor usa constantes o algo parecido 
			
			
									
									
Re: [Curso] Introducción a la programación en C (VIII)
~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
  Y no olvides los otros 2 problemas anteriores.


