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

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

Gladiator
Novato
Novato
Mensajes: 18
Registrado: 30 Dic 2009, 19:54
PSN ID: gladiator456

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

Mensaje por Gladiator »

Tranqui m0skit0 que aqui estoy yo para animarte a las tantas de la mañana aburrido.. XDDD




Spoiler:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int n;
    printf("\n   Ejercicio para el teniente general m0skit0\n");
    printf("   Empieza el juego...Introduce un numero que quieras: ");
    scanf("%d",&n);
   
    if( n<20 )
    {
         if( n%2==0 )
         {
             printf("\n\n Felicitaciones, el numero que has introducido es menor que 20 y par");
             system("pause>nul");
         }
    }
    if( n>20 || n%2 != 0 ){
          printf("\n\n Lo siento, fallaste.");
          system("pause>nul");
          }
return 0;
}




Spoiler:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int x,y;
    printf("\n   Dime un numero payo: ");
    scanf("%d",&x);
    printf("\n    Ahora otro :D : ");
    scanf("%d",&y);
    printf("\n\n     Vas a flipar....");
   
    if((x+y)/2 > 20)
    {
               printf("\n Su media es mayor de 20!");
    }else{
          printf("\n Su media es menor de 20!");
          }
    if(x+y > 20)
    {
           printf("\n Su suma hace mas de 20!");
    }else{
          printf("\n Su suma hace menos de 20!");
          }
    if(x*y > 20)
    {
           printf("\n Su producto es mayor de 20!");
    }else{
          printf("\n Su producto es menor de 20!");
          }
    system("pause>nul");
    return 0;
}




Spoiler:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
   
    int x,y,z,t;
    z=0;
    printf("\n   Dime un numero payo: ");
    scanf("%d",&x);
    printf("\n    Ahora otro :D : ");
    scanf("%d",&y);
    printf("\n\n     Vas a flipar....");
    t=x+y;
    if(t % 2 == 0)
    {
             printf("Ahi van todos los valores pares positivos anteriores a %d: ",t);
             
             for(z=0;z<=t;z++)
             {
                   if(z%2==0)
                   {
                             printf("\n  %d",z);
                   }
             };
    }else{
         
          printf("Ahi van todos los valores impares positivos anteriores a %d: ", x+y);
             
             for(z=1;z<=t;z++)
             {
                   if(z%2 != 0)
                   {
                             printf("\n  %d",z);
                   }
             };
          }
          system("pause>nul");
    return 0;
}




Spoiler:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int Num,divisor=2;
    printf("\n   Dime un numero payo: ");
    scanf("%d",&Num);
   
     while( divisor < Num )
       {  while( Num % divisor != 0)
          divisor++;
          if(Num == divisor)                               
           printf("\n %d es primo",Num);   
           else
      printf("\n %d no es primo",Num);   
      system("pause>nul");
      break;
      }
     
return 0;
}




Spoiler:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
   
    int x,y,retry;
    retry=5;
    printf("\n   Jugador A(0-10): ");
    scanf("%d",&x);
    system("cls");
   
    while(retry>0)
    {
    printf("\n   Jugador B, adivina el numero del jugador A(intentos restantes=%d) : ",retry);
    scanf("%d",&y);
    if(x==y)
    {
            printf("Enorabuena, has adivinado el numero, hasta otra!");
            system("pause>nul");
            break;
    }else{
          printf("Vuelve a intentarlo...");
          retry--;
          }
    }
    if(retry==0){
    printf("\n\nSe te acabaron las oportunidades, melon :(");
    system("pause>nul");
    }
   
    return 0;
}

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

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

Mensaje por dark_sasuke »

mira m0ski aqui el 3:

Spoiler:

Código: Seleccionar todo

#include <stdio.h>


int main()

{   
    int numero1, numero2, contador = 0;
   
    printf("bienvenido a este programa xD\n");
    printf("por favor ingrese un numero entero : ");
    scanf("%d", &numero1);
   
    printf("por favor ingrese de nuevo un numero entero : ");
    scanf("%d", &numero2);
   
    if((numero1 + numero2) % 2 == 0)
    {printf("ahora se imprimiran todos los numeros pares\nhasta la suma de los que insertaste");
    while(contador <=(numero1 + numero2))
    {printf("%d\n", contador);
     contador += 2;}}
   
    if((numero1 + numero2) % 2 == 1)
    {contador= 1;
    printf("ahora se imprimiran todos los numeros impares\nhasta la suma de los que insertaste");
     while(contador <=(numero1 + numero2))
    {printf("%d\n", contador);
     contador += 2;}}
 

 return 0;
 
}


PD: o los hago todos al tiempo, por lo de lo bucles no me entraba, pero ya me esta entrando :D
Imagen

Avatar de Usuario
brujitosexy
Experto
Experto
Mensajes: 1097
Registrado: 03 Sep 2009, 19:30

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

Mensaje por brujitosexy »

Parece ser que algunos hemos decidido hacer ejercicios de este capitulo hoy (somos 3). :lol:

1ro
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
  int numero;
  printf("Introduzca un numero que sea menor que 20 y que sea par: ");
  scanf("%d", &numero);
  //Dando sentencias
  if((numero < 20) && (numero %2 ==0))
  printf("El numero introducido es menor y es par.\n");
  else
  printf("El numero introducido no cumple con los requisitos.\n");
 
  return 0;

}

2do
Spoiler:

Código: Seleccionar todo

#include <stdio.h>

int main(int argc, char *argv[])
{
 
    float numero_A;
    float numero_B;
 
    //Introduciendo los numeros
    printf("Por favor, introduzca un numero: ");
    scanf("%f", &numero_A);
 
    printf("Por favor, introduzca otro numero: ");
    scanf("%f", &numero_B);
 
    //Asignando las operaciones matematicas
    if((numero_A + numero_B) > 20)
    printf("La sumatoria es mayor que 20.\n");
    else
    printf("La sumatoria es menor que 20.\n");
 
    if(numero_A * numero_B > 20)
    printf("La multiplicacion es mayor que 20.\n");
    else
    printf("La multiplicacion es menor que 20.\n");
 
    if((numero_A + numero_B)/2 > 20)
    printf("La media es mayor que 20.\n");
    else
    printf("La media es menor que 20.\n");
   
    return 0;
}

Venga correciones :!: :!:
:mrgreen:
Última edición por brujitosexy el 06 Ene 2010, 00:30, editado 1 vez en total.
Linus Torvalds:
“El Software es como el sexo; es mejor cuando es gratis…”

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

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

Mensaje por arisma »

brujitosexy, sin correcciones parece correcto.

Lo único que en el segundo ejercicio debes decir menor o igual que 20.

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 »

Joer los 3 a la vez, hay que mataros! A ver si saco algun momento para verlos con tranquilidad.
Imagen

Gladiator
Novato
Novato
Mensajes: 18
Registrado: 30 Dic 2009, 19:54
PSN ID: gladiator456

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

Mensaje por Gladiator »

m0skit0 escribió:Joer los 3 a la vez, hay que mataros! A ver si saco algun momento para verlos con tranquilidad.


Jodete que te he dao curro ... y no te lo esperabas los 5 ademas.. XDDDDDDDDDDDD

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 »

Por hablar te ha tocao pues, Gladiator xD Estan bien en general, pero algunas cosillas que deberias pulir:

Spoiler:
Gladiator escribió:

Haces 4 comparaciones cuando con 2 tienes de sobra. Intenta hacerlo siempre con el minimo de comparaciones posibles.

Gladiator escribió:

Si declaras los numeros como enteros, la media tambien es entera y eso es obviamente incorrecto.

Gladiator escribió:printf("\n Dime un numero payo: ");
printf("\n\n Vas a flipar....");

:juasjuas: :juasjuas: :juasjuas: :juasjuas:

Gladiator escribió:system("pause>nul");

Vaya cutrada made in windowseros :juasjuas: ;)

Gladiator escribió:

Ke pasa si ingreso x = -5 e y = -5... :twisted:

Gladiator escribió:

Demasiadas comprobaciones. Se puede hacer en la mitad y menos de ciclos de bucle. Intenta encontrar la forma ;)

Gladiator escribió:

Gladiator escribió:if(x==y)
{
printf("Enorabuena, has adivinado el numero, hasta otra!");
system("pause>nul");
break;

Evita el uso de break, es considerado mala programacion al igual que goto, a menos que sea totalmente necesario (como en un switch por ejemplo).

Gladiator escribió:system("pause>nul");

Esto solo hace que el codigo no sea portable. Evita su uso. Intenta cenirte a C estandar.

Gladiator escribió:if(retry==0){

Sobra esta comprobacion, ya que compruebas con la condicion del while esto mismo.

Ahora mister sasuke:

Spoiler:
dark_sasuke escribió:while(contador <=(numero1 + numero2))

Vas a realizar la suma por cada bucle, mientras que numero1 y numero2 no cambian. Es decir, vuelves a calcular la suma por cada vuelta del bucle cuando en realidad la suma no cambia.

dark_sasuke escribió: while(contador <=(numero1 + numero2))
{printf("%d\n", contador);
contador += 2;}}

Esto lo tienes repetido dos veces exactamente igual. Intenta dejar solo uno.

dark_sasuke escribió:pero ya me esta entrando :D

Veo que ya lo disfrutas :lol:

Brujitosexy:

Spoiler:
brujitosexy escribió:1ro

Solo pides que sea menor que 20, no que sea par.

Solo eso (tambien lo comentado por arisma, claro), buen trabajo, y animo con los siguientes ;)

Para todos:

Sin animo de ofender, vuestro estilo de codificacion es bastante horrible (unos mas que otros), algo que lo hace mucho mas pesado y engorroso de leer. Aqui os dejo un enlace sobre como formatear el codigo: http://es.wikipedia.org/wiki/Estilo_de_ ... aci%C3%B3n. Lectura obligada para todos :evil:
Imagen

Avatar de Usuario
brujitosexy
Experto
Experto
Mensajes: 1097
Registrado: 03 Sep 2009, 19:30

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

Mensaje por brujitosexy »

m0skit0 escribió:Brujitosexy:
1ro
Solo pides que sea menor que 20, no que sea par.

El ejercicio #1 dice:
1- Dado un número entero evaluar si es menor que 20 y par (debe cumplir ambas condiciones).

Código: Seleccionar todo

//Dando sentencias
  if((numero < 20) && (numero %2 ==0))
  printf("El numero introducido es menor y es par.\n");

1- No esta pidiendo que sea par en: (numero %2 ==0) :?:
2- Entonces aunque me pida que solo sea menor ó mayor, tendré que ponerlo menor o igual que ó mayor o igual que :?:
Linus Torvalds:
“El Software es como el sexo; es mejor cuando es gratis…”

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

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

Mensaje por arisma »

1- El jefe se refiere a que en el printf inicial, pidas que introduzcan un número menor de 20 y par.

2- Las condiciones no cambian siguen igual < 20 Y modulo de 2 igual a 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 »

arisma escribió:1- El jefe se refiere a que en el printf inicial, pidas que introduzcan un número menor de 20 y par.

:adora: :adora:
Imagen

Responder