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

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

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

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

Mensajepor m0skit0 » 16 Jul 2011, 15:42

Vamos a ver... Yo me refiero a esto:

Código: Seleccionar todo

while (cont < num)
{
    if(num % cont==0)
    {
        cont2++;               
    }     
   
    cont++;
}

Si se cumple la condición del if, el número NO es primo. Sin embargo, el bucle sigue buscando números, ¿para qué?
Imagen

t4t4n_h4ck
Novato
Novato
Mensajes: 13
Registrado: 09 Sep 2011, 03:24

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

Mensajepor t4t4n_h4ck » 12 Sep 2011, 06:24

Saludos, aca mis ejercicios

Ejer1:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
    int numero;
    printf("Ingrese un numero ... : ");
    scanf("%d",&numero); 
    if((numero % 2) == 0 && numero < 20)
    {
        printf("El numero %d es Par y menor de 20 .... Gracias \n",numero);   
    }else
    {
        printf("Lo sentimos el numero no es menor de 20 y tampoco es par");
    }
    return 0;
}

Ejer2:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
    //variables a usar
    float numero1,numero2,suma,media,multiplicacion;
    //ingresando numero 1
    printf("Ingrese Numero 1:");
    scanf("%f",&numero1);
    //ingresando numero 2
    printf("Ingrese Numero 2:");
    scanf("%f",&numero2);
    //Mostrando lo pedido
    if((numero1 + numero2) > 20 || ((numero1 + numero2)/2.0) > 20 || (numero1 * numero2) > 20)
    {
        printf("Una o todas las operaciones de Suma, Media, multiplicacion  de ambos numeros es mayor de 20 \n\n  ");
    }else{
        printf("Lo sentimos ninguna operacion de suma,media y multiplicacion es mayor de 20 \n\n");       
    }
    //realizando por partes la verificacion
    if((numero1 + numero2) > 20)
    {
        printf("la suma de los numeros es mayor de 20 \n");   
    }else{
        printf("La suma de los numeros no es mayor de 20 \n");       
    }
    if(((numero1 + numero2)/2.0) > 20)
    {
        printf("la media de los numeros es mayor de 20 \n");   
    }else{
        printf("La media de los numeros no es mayor de 20 \n");       
    }
    if((numero1 * numero2) > 20)
    {
        printf("la multiplicacion de los numeros es mayor de 20 \n");   
    }else{
        printf("La multiplicacion de los numeros no es mayor de 20 \n");       
    }
    return 0;
}


Ejer3:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
    //variables
    int num_1,num_2,mayor,par=2,impar=1;
    //ingresando los numeros
    printf("Ingrese Numero 1 :");
    scanf("%d",&num_1);
    printf("Ingrese Numero 2 :");
    scanf("%d",&num_2);
    //verificando numero mayor
    if(num_1 > num_2)
    {
            mayor=num_1;
    }else{
            mayor=num_2;
    }
    printf("El numero mayor es %d \n",mayor);
    //Mostrando lo pedido
    if((num_1 + num_2) % 2 == 0)
    {
        while(par <= mayor)
        {
           printf("Numero par entre 0 - %d es %d \n",mayor,par);
           par=par + 2;       
        }
    }else{
        while(impar <= (num_1 + num_2))
        {
           printf("Numero impar entre 0 - %d es %d \n",(num_1 + num_2),impar);
           impar += 2;       
        } 
    } 
   return 0;
}


Ejer4:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
    //variables a usar
    int numero,i=1,cont=0;
    //ingresando numero
    printf("Ingrese numero : ");
    scanf("%d",&numero);
    //mostrando lo pedido
    while(i <= numero)
    {
       if(numero % i == 0)
       {
          cont++;
          i++;     
       }
       i++;
    } 
    if(cont == 2)
    {
        printf("El numero  %d  es primo \n",numero);
    }else{
        printf("El numero %d  no es primo \n",numero);     
    }
    return 0;
}


Ejer4.1:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
    //variables a usar
    int numero,i=1,cont=0;
    //ingresando numero
    printf("Ingrese numero : ");
    scanf("%d",&numero);
    //mostrando lo pedido
    while(i <= numero)
    {
       if(numero % i == 0)
       {
          cont++;
          if(cont >= 3)
          {
              printf("Sacando del while...\n");
              break;       
          }
          i++;     
       }
       i++;
    }
    if(cont == 2)
    {
        printf("El numero  %d  es primo \n",numero);
    }else{
        printf("El numero %d  no es primo \n",numero);     
    }
    return 0;
}


Ejer5:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
    //variables a usar
    int num_secreto,num_adivina,intentos=1;
    //ingresando numero secreto
    printf("Usuario A... Ingrese numero secreto entre 0 - 10 : ");
    scanf("%d",&num_secreto);
    system("cls");
    //Mostrando resultado del usuario B
    while(intentos <= 5)
    {
        if(intentos != 6)
        {
           printf("Usuario B... Ingrese numero a adivinar entre 0 - 10 intento %d de 5: ",intentos);
           scanf("%d",&num_adivina);
           
           if(num_secreto == num_adivina)
           {
              printf("Felicitaciones Acertaste, el numero %d  es el correcto y lo hiciste en el intento %d  de 5\n",num_adivina,intentos);
              break;
           }else{
              intentos++;
           }
        }
    }
    if(intentos == 6)
    {
            printf("Lo sentimos supero el numero de intentos permitidos 5 ... suerte para la otra \n");             
    }
    return 0;
}


Gracias por todo y mas por las sugerencias.

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

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

Mensajepor m0skit0 » 13 Sep 2011, 12:26

Bienvenido t4t4n_h4ck ;)

Primero una consideración general: si vas a usar { al principio de línea, hazlo siempre así. Si quieres ponerla al final de la línea (ajjjjj) también hazlo siempre así, pero no mezcles ambos estilos ;)

t4t4n_h4ck escribió:Ejer1:

t4t4n_h4ck escribió:printf("Lo sentimos el numero no es menor de 20 y tampoco es par");

El número puede ser par perfectamente. Tal y como lo expresas, estás dando a entender que no es 20 ni es par (cosa que no tiene por qué ser verdad).

t4t4n_h4ck escribió:Ejer2:

Realizas las operaciones demasiadas veces. Por ejemplo, la suma, con realizarla una sola vez y almacenar el resultado en una variable te vale. Por si te consuela, el compilador de C es listo y ya hace eso por ti, pero esto no siempre es así para otros lenguajes. Además, utilizar expresiones tan largas como condiciones dificulta la legibilidad del código y es propenso a introducir errores.

t4t4n_h4ck escribió:Ejer3:

Te digo lo mismo que para el 2.

t4t4n_h4ck escribió:Ejer4:

No está mal, pero poco efectivo. Sigues haciendo divisiones cuando ya sabes que el número no es primo (es decir, el bucle sigue corriendo aún cuando no es necesario).

t4t4n_h4ck escribió:Ejer5:

No validas que el número que se ha introducido esté entre 0 y 10. No uses system("cls") (tu programa a mí no me funciona con eso).

Código: Seleccionar todo

while(intentos <= 5)
{
    if(intentos != 6)

Sobra el if, siempre va a ser cierto dado que el while sólo permite la entrada si intentos es menor de 6.
Imagen

Avatar de Usuario
wf19
Habitual
Habitual
Mensajes: 194
Registrado: 03 Sep 2009, 02:12

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

Mensajepor wf19 » 12 Oct 2011, 10:41

Ejercicio 4?:

Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main ()
{
   int Primo;
   int Index;
   printf("Porfavor, introduce un numero y te dire si es primo o no: ");
   scanf("%d", &Primo);
   if (Primo % 2)
   {
      for (Index = Primo / 3, Index -= Index % 2 ? 0 : 1; (Index > 1) && (Primo % Index); Index -= 2);

      if (Index == 1)
         printf("Primo Dood!\n");
      else
         printf("No Primo Dood!\n");
   }
   else
      printf("No es primo Dood!\n");
   return 0;
}


-- Doble Post --

La Pregunta 5?
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main ()
{
   int Secreto;
   int Intento = -1;
   int Contador;
   printf("Jugador 1, teclea un numero entre 0 y 10, para que el Jugador 2 lo adivine: ");
   
   do {
      scanf("%d", &Secreto);
      if ( (Secreto < 0 ) || (Secreto > 10) )
         printf("Numero no valido Dood!, intenta de nuevo: ");
   } while ( (Secreto < 0 ) || (Secreto > 10) );

   for(Contador = 50; Contador; Contador--)
      printf("\n");

   printf("Ahora Jugador 2, intenta adivinar el numero del jugador 1!\n");

   for (Contador = 5; (Contador) && (Intento != Secreto); Contador--)
   {
      printf("Dame tu numero Dood!, te restan %d Intentos: ", Contador);
      scanf("%d", &Intento);
   }

   if (Contador)
      if (Intento != Secreto)
         printf("No acertaste Dood!, la respuesta era %d\n", Secreto);
      else
         printf("Acertaste Dood!, la respuesta en efecto era %d\n", Secreto);
   else
      printf("Acertaste Dood!, la respuesta en efecto era %d\n", Secreto);

   return 0;
}

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

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

Mensajepor m0skit0 » 13 Oct 2011, 11:01

wf19 escribió:Ejercicio 4?:

No funciona con 2, por ejemplo. Demasiado enrevesado y el for es totalmente ilegible (demasiadas cosas metidas dentro, con un if incluído que realmente no sirve para nada porque la condición ya es un if de por sí).

wf19 escribió:La Pregunta 5?

No uses ifs y fors sin {}. Siempre {}.

Código: Seleccionar todo

for (Contador = 5; (Contador) && (Intento != Secreto); Contador--)

Es correcto, pero mejor:

Código: Seleccionar todo

for (Contador = 5; (Contador != 0) && (Intento != Secreto); Contador--)


Código: Seleccionar todo

   if (Contador)
      if (Intento != Secreto)
         printf("No acertaste Dood!, la respuesta era %d\n", Secreto);
      else
         printf("Acertaste Dood!, la respuesta en efecto era %d\n", Secreto);
   else
      printf("Acertaste Dood!, la respuesta en efecto era %d\n", Secreto);

¿2 veces el mismo mensaje? :roll: Demasiado complicado con comprobación de 2 condiciones cuando sólo tienes que comprobar 1.

Saludos y buen esfuerzo :oki:
Imagen

Avatar de Usuario
CARDIHO
Enteradillo
Enteradillo
Mensajes: 67
Registrado: 02 Feb 2011, 17:15

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

Mensajepor CARDIHO » 16 Ago 2012, 20:15

A qui estan mis ejercicios a ver como me va

Ejercicio 1:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>



int main()
{


   int numero;
   
   
   
   printf("Introduce un numero por favor: ");
   scanf("%d", &numero);
   
   
   if ((numero <= 20) && (numero % 2 == 0))
   {
   
       if (numero < 20)
      {
    
         printf("Tu numero %d es menor que 20 y es un numero par\n", numero);
      
       }
    
    
      else
      {
    
         printf("Tu numero %d es igual que 20 y es un numero par\n", numero);
      
      }
    
   }
   
   
   else
   {
   
       if (numero > 20)
      {
      
         printf("Tu numero es mayor que 20\n");
       
      }
      
      
      else
      {
      
         printf("Tu numero %d es un numero impar\n", numero);
       
      }
    
   }
   
   
   return 0;
   
   
}


Ejercicio 2:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>



int main()
{


   float numero1, numero2;
   float media, suma, multiplicacion;
   
   
   
   printf("Introduce un numero real: ");
   scanf("%f", &numero1);
   printf("Introduce otro numero real: ");
   scanf("%f", &numero2);
   
   
   suma = numero1 + numero2;
   media = suma / 2;
   multiplicacion = numero1 * numero2;
   
   
   printf("Se aran las siguientes operaciones con tus numeros:\n");
   printf("Suma, multiplicacion y media\n");
   
   
   if ((suma > 20) && (media > 20) && (multiplicacion > 20))
   {
   
      printf("La suma de tus numeros %f y %f es: %f y es mayor que 20\n", numero1, numero2, suma);
     printf("La media de tus numeros %f y %f es: %f y es mayor que 20\n", numero1, numero2, media);
      printf("La multiplicacion de tus numeros %f y %f es: %f y es mayor que 20\n", numero1, numero2, multiplicacion);

   }


   else
   {

      printf("Alguna operacion es menor que 20\n");
    
   }    
   
   
   return 0;
   
   
}


Ejercicio 3:
Honestamente en este tuve que ver los ejercicios de los de mas para saber como incrementaban el valor a la variable sin utilizar la operación ++ , vi que todos usaron (+=) y encontré que (=) copia el valor del operando de la derecha en el operando de la izquierda y que (+) se lo incrementa, profe ¿esta información es verdadera?
Spoiler:

Código: Seleccionar todo

#include <stdio.h>



int main()
{


   int Num1, Num2, suma;
   int i;
 

 
   printf("Introduce un numero entero: ");
   scanf("%d", &Num1);
   printf("Introduce otro numero entero: ");
   scanf("%d", &Num2);

 
   suma = Num1 + Num2;


   if (suma % 2 == 0)
   {
 
      i = 2;

     
      while (i <= suma)
      {

          printf("%d,", i);
          i += 2;

      }


   }


   else
   {

      i = 1;


      while (i <= suma)
      {
 
         printf("%d,", i);
         i += 2;
         
      }


   }



   return 0;



}


Ejercicio 4:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>



int main()
{


   int Num;
   int i = 2;
   
   
   printf("Ingresa un numero entero: ");
   scanf("%d", &Num);
   
   
   while (i < Num)
   {
   
      if (Num % i == 0)
     {
    
        printf("Tu numero no es primo\n");
       return 0;
     }
    
     i++;
    
   }
   
   
   printf("Tu numero es primo\n");
   
   
   return 0;
   
   
}


Ejercicio 5:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>



int main()
{

   
   int play_A, play_B;
   int i = 1;
   
   
   printf("Jugador A introduce un umero del 0 y 10\n");
   scanf("%d", &play_A);
   
   
   if ((play_A < 0) || (play_A > 10))
   {
   
      printf("Lociento tu numero no esta en el rango\n");
     printf("Jugador B gana\n");
     return 0;
    
   }
   
   
   printf("Jugador B intenta adivinar el numero del jugador A\n");
   printf("Solo tienes 5 oportunidades\n");
   printf("Introduce un numero del 0 al 10\n");
   
   
   while (i <= 5)
   {
   
      printf("%d oportunidad\n", i);
      scanf("%d", &play_B);
      
      
      if ((play_B < 0) || (play_B > 10))
      {
      
         printf("El numero no esta en el rango que se te pide\n");
        printf("Intentalo otravez\n");
        i++;
       
      }
      
      
      else if (play_A == play_B)
      {
      
         printf("Felicidades le has atinado al numero\n");
        return 0;
       
      }
      
      
      else
      {
      
         switch (i)
        {
       
           case 1:
          printf("No eres muy bueno intentalo otraves\n");
          i++;
          break;
          case 2:
          printf("Sss creo que mi abuelita puede mas que tu\n");
          i++;
          break;
          case 3:
          printf("Intentalo de nuevo\n");
          i++;
          break;
          case 4:
          printf("que sorpresa a un no puedes\n");
          i++;
          break;
          case 5:
          printf("vaya se acabaron tus cindo intentos\n");
          printf("Game over\n");
          i++;
          break;
         
        }
       
       
      }
      
      
   }
   

   return 0;


}   


Saludos :oki:

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

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

Mensajepor m0skit0 » 17 Ago 2012, 13:30

Dejas demasiados espacios en tu código que al final curiosamente dificultan la legibilidad ;) Ah, y cuidado con el castellano, que tienes más faltas en castellano que en programación smiles-afilant

Ejercicio 1: demasiados ifs. Hazlo sólo con 1 if y 1 else. No necesitas más para cumplir con el ejercicio. Intenta ceñirte a exactamente lo que se pide. No añadas más de lo pedido ;)

Ejercicio 2: casi perfecto ;) Personalmente eso de declarar las variables al principio para usarlas más tarde no lo veo muy claro. Resta legibilidad y malgasta stack (las variables locales se reservan en la pila/stack). Mejor:

Código: Seleccionar todo

float suma = numero1 + numero2;
float media = suma / 2;
float multiplicacion = numero1 * numero2;

Y es "harán", de "hacer", por tanto con "h"; no "aran" ;)

Ejercicio 3:
CARDIHO escribió:Honestamente en este tuve que ver los ejercicios de los de mas para saber como incrementaban el valor a la variable sin utilizar la operación ++

¿Alguien dijo que no se pueda usar ++?

CARDIHO escribió:vi que todos usaron (+=)

Sí, es correcta. Básicamente a+=b equivale a a = a + b.

En cuanto al código te digo lo mismo que antes respecto a declarar las variables con demasiada antelación. Y fíjate que el bucle while es exactamente igual tanto en el if como en el else. Por tanto es algo que se hace igual tanto si se cumple la condición del if como si no. Por tanto, no hace falta que esté dentro del if-else. Siempre que veas algo así es una indicación de una operación/algoritmo no depende de la condición ;)

Ejercicio 4: correcto pero se puede optimizar porque haces demasiadas operaciones superfluas. Ahora compruebas si el número introducido es divisible por todos los números más pequeños que él. Ahora te pregunto: ¿sabes de algún número N que sea divisible por un número mayor que N/2 (y que no sea él mismo, claro)? ¿Por qué crees que ocurre esto?

Hacer un return dentro de un while es considerado mala práctica. Modifica tu while para que no haga esto (y tampoco uses break).

Ejercicio 5: correcto, pero unos comentarios:

Código: Seleccionar todo

int play_A, play_B;

Esto es como llamarlas a y b. Busca un nombre más descriptivo de su función.

Lociento

Por favor... ¿Qué significado tiene "lociento"? :roll: Es "lo siento" :tiro:

Código: Seleccionar todo

printf("Intentalo otravez\n");

Este mensaje es erróneo en caso de ser el último intento.

Código: Seleccionar todo

switch (i)

El código dentro de los case debe ir indentado.

Código: Seleccionar todo

i++;

Como te he comentado en el ejericio anterior, esta operación la haces en TODOS los case, por tanto, no depende del case en el que estás, y por tanto debes hacerla fuera del switch.

Código: Seleccionar todo

printf("vaya se acabaron tus cindo intentos\n");
printf("Game over\n");

No hace falta hacer 2 llamadas a printf().

Un abrazo ;)
Imagen

Avatar de Usuario
CARDIHO
Enteradillo
Enteradillo
Mensajes: 67
Registrado: 02 Feb 2011, 17:15

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

Mensajepor CARDIHO » 21 Ago 2012, 03:07

Puff cuantas cosas :shock: jejeje

m0skit0 escribió:Dejas demasiados espacios en tu código que al final curiosamente dificultan la legibilidad ;) Ah, y cuidado con el castellano, que tienes más faltas en castellano que en programación smiles-afilant


jajajajajaja si lose tengo un buen de faltas de ortografía tendré que mejorar en eso también :mrgreen: :mrgreen: .

m0skit0 escribió:Ejercicio 1: demasiados ifs. Hazlo sólo con 1 if y 1 else. No necesitas más para cumplir con el ejercicio. Intenta ceñirte a exactamente lo que se pide. No añadas más de lo pedido ;)

No estoy de acuerdo pero lo intentare.

m0skit0 escribió:Ejercicio 2: casi perfecto Personalmente eso de declarar las variables al principio para usarlas más tarde no lo veo muy claro. Resta legibilidad y malgasta stack (las variables locales se reservan en la pila/stack). Mejor:

Código:
float suma = numero1 + numero2;
float media = suma / 2;
float multiplicacion = numero1 * numero2;

Y es "harán", de "hacer", por tanto con "h"; no "aran"


mmmm......

Lo del código lo he hecho en las primeras lecciones 2 veces pero en las dos intentos me dio error cuando lo ejecutaba ,usaba windows y el compilador turbo c, a hora uso una distribución de linux(ubuntu) apenas llevo dos semanas con el (tenia que decirlo), profe me da un consejo que distribución de linux me aconsejaría para mi que soy noob en linux o ¿estoy bien con ubuntu?.

Me acuerdo cuando un día pedí ayuda en un foro pero en ves de escribir ayuda escribí hayuda jejejejejeje.

m0skit0 escribió:¿Alguien dijo que no se pueda usar ++?

No, pero me dije que tal si dice que lo haga de otra manera.

m0skit0 escribió:Hacer un return dentro de un while es considerado mala práctica. Modifica tu while para que no haga esto (y tampoco uses break).

¿Por que es considerado mala practica?

m0skit0 escribió:Este mensaje es erróneo en caso de ser el último intento.

En este caso no es el ultimo intento profe. :twisted:

m0skit0 escribió:No hace falta hacer 2 llamadas a printf().

¿Por que?

Saludos y cuídese :mrgreen: :oki: :adora: :chapao:

Ejercicio 1:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>


int main()
{

   int numero;
   
   
   printf("Introduce un numero por favor: ");
   scanf("%d", &numero);
   
   
   if ((numero < 20) && (numero % 2 == 0))
   {
   
      printf("Tu numero %d es menor que 20 y es un numero par\n", numero);
    
   }
   
   
   else
   {
   
      printf("tu numero es menor que 20 o es un numero impar\n");
    
   }
   
   
   return 0;
   
   
}


Ejercicio 2:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>


int main()
{

   float numero1, numero2;
   float suma = numero1 + numero2;
   float media = suma / 2;
   float multiplicacion = numero1 * numero2;
   
     
   printf("Introduce un numero real: ");
   scanf("%f", &numero1);
   printf("Introduce otro numero real: ");
   scanf("%f", &numero2);
   
   
   printf("Se haran las siguientes operaciones con tus numeros:\n");
   printf("Suma, multiplicacion y media\n");
   
   
   if ((suma > 20) && (media > 20) && (multiplicacion > 20))
   {
   
      printf("La suma de tus numeros %f y %f es: %f y es mayor que 20\n", numero1, numero2, suma);
      printf("La media de tus numeros %f y %f es: %f y es mayor que 20\n", numero1, numero2, media);
      printf("La multiplicacion de tus numeros %f y %f es: %f y es mayor que 20\n", numero1, numero2, multiplicacion);

   }


   else
   {

      printf("Alguna operacion es menor que 20\n");
    
   }    
   
   
   return 0;
   
   
}


Ejercicio 5:
Spoiler:

Código: Seleccionar todo

#include <stdio.h>



int main()
{

   int play_uno, play_dos;
   int i = 1;
   
   
   printf("Jugador A introduce un umero del 0 y 10\n");
   scanf("%d", &play_uno);
   
   
   if ((play_uno < 0) || (play_uno > 10))
   {
   
     printf("Lo siento tu numero no esta en el rango\n");
     printf("Jugador B gana\n");
     return 0;
    
   }
   
   
   printf("Jugador B intenta adivinar el numero del jugador A\n");
   printf("Solo tienes 5 oportunidades\n");
   printf("Introduce un numero del 0 al 10\n");
   
   
   while (i <= 5)
   {
   
      printf("%d oportunidad\n", i);
      scanf("%d", &play_dos);
      
      
      if ((play_dos < 0) || (play_dos > 10))
      {
      
        printf("El numero no esta en el rango que se te pide\n");
        printf("Intentalo otravez\n");
        i++;
       
      }
      
      
      else if (play_uno == play_dos)
      {
      
        printf("Felicidades le has atinado al numero\n");
        return 0;
       
      }
      
      
      else
      {
      
         switch (i)
        {
       
           case 1:
                printf("No eres muy bueno intentalo otraves\n");
                break;
          case 2:
                printf("Sss creo que mi abuelita puede mas que tu\n");
                break;
          case 3:
                printf("echale ganas\n");
                break;
          case 4:
                printf("que sorpresa a un no puedes\n");
                break;
          case 5:
                printf("vaya se acabaron tus cinco intentos\n");
                break;
         
        }
       
        i++;
       
      }
      
      
   }
   

   return 0;


}   

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3373
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

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

Mensajepor dark_sasuke » 23 Ago 2012, 08:30

Primer ejercicio:

Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main()

{
    int Numero;

    printf("Inserta un numero y te dire si es par y menor o mayor que 20\n");
    printf("Insertalo: ");
        scanf("%d", &Numero);

        if(Numero <= 20 && Numero%2 == 0)
        {
            printf("El numero es menor que 20 y par");
        }

        else if(Numero >=20 && Numero%2 == 0)
        {
            printf("El numero es mayor que 20 y par");
        }

        else if(Numero <=20 && Numero%2 == 1)
        {
            printf("El numero es menor que veinte e impar");
        }

        else if(Numero >=20 && Numero%2 == 1)
        {
            printf("El numero es mayor que veinte e impar");
        }

    return 0;

}

El primer ejercicio lo hice asi, no lei bien, pero igual esta bien no?

Segundo ejercicio:

Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main()

{
    int Numero1, Numero2;

    printf("Inserta dos numeros por teclado\nEl primero: ");
        scanf("%d", &Numero1);

    printf("El segundo: ");
        scanf("%d", &Numero2);

        if(Numero1+Numero2 < 20 && Numero1*Numero2 < 20 && Numero1+Numero2/2 < 20)
        {
            printf("Las condiciones se cumplen, suma, multiplicacion y media son menores que 20");
        }

        else
        {
            printf("No se cumplen todas o alguna de las condiciones.");
        }

    return 0;
}


Y LLEGUE A LOS BUCLES! ... Antes tarde dias en llegar hasta aqui, hoy, tan solo unas horas xD
Imagen

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

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

Mensajepor m0skit0 » 24 Ago 2012, 14:47

@darky: pon spoilers a tus ejercicios ;)
Imagen


Volver a “Programación”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado