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

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

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 »

Como siempre, os olvidáis de que se pueden insertar números negativos. Intentad controlar esas condiciones, que es muy fácil. En este caso hay que usar if, no switch, ya que hay muy pocos casos (sólo 2: o el número introducido es válido o no lo es). Tened en cuenta que el 0 no es válido a no ser un número natural, al igual que los números negativos, ni el 1 al ser "especial".
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)

Mensaje por wf19 »

m0skit0 escribió:En este caso hay que usar if, no switch

A sus órdenes profe:

Spoiler:

Código: Seleccionar todo


#include <stdio>

int main ()

{
int numero_introducido, verificador = 2;

printf("Dood! inserta un numero y te dire si es primo o no: ");
scanf("%d", &numero_introducido);

if (numero_introducido <= 0)
{
   printf("\nNumero NO valido dood!!!!");
   return 0;
}

if (numero_introducido == 1)
{
   printf("\NO es primo... Pero tampoco compuesto Dood!!!");
   return 0;
}

while (numero_introducido % verificador != 0)
{
   verificador++;
}

if (numero_introducido == verificador)
{
   printf("\nEs un numero primo Dood!!!");
}

if (numero_introducido != verificador)
{
   printf("\nEs un numero NO primo Dood!!!");
}
return 0;
}

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

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

Mensaje por dark_sasuke »

Spoiler:

Código: Seleccionar todo

#include <stdio.h>

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

{

int  num_insertado, bucle = 2;
   
//bienvenida al programa y escaneo del numero
printf("bienvenido a este programa :)\n");
printf("por favor inserte un numero entero : ");
scanf("%d", &num_insertado);

   
if(num_insertado <=0)
{   
   printf("\nel 0 no es valido melon!\n");

return 0;     
}

if(num_insertado==1)
{
   printf("el 1 no es valido melon!\n");

return 0;
}

return 0;

while(num_insertado%bucle!=0)
   bucle++;


if(num_insertado==bucle)     

   printf("\ntu numero es primo\n");


if(num_insertado!=bucle)

   printf("\ntu numero NO es primo\n");




return 0;
     
}


ya es mas legible el codigo profe?
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 »

m0skit0 escribió:sólo 2: o el número introducido es válido o no lo es

Sólo hace falta un if...else para distinguir si la entrada es un número natural o no. Os sobran comparaciones.
Imagen

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

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

Mensaje por dark_sasuke »

se referia a esto profe:

Spoiler:

Código: Seleccionar todo

#include <stdio.h>

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

{

int  num_insertado, bucle = 2;
   
//bienvenida al programa y escaneo del numero
printf("bienvenido a este programa :)\n");
printf("por favor inserte un numero entero : ");
scanf("%d", &num_insertado);

   
if(num_insertado <=0)
{   
   printf("\nel 0 ni los negativos son validos melon, ya que no son numero naturales!\n");

return 0;
}
else     
   
   printf("\ntu numero es un numero natural, muy bien :) y ademas\n");


if(num_insertado==1)
{
   printf("el 1 no es valido melon, pero si es natural!\n");

return 0;
}


while(num_insertado%bucle!=0)
   bucle++;


if(num_insertado==bucle)     

   printf("\ntu numero es primo\n");


if(num_insertado!=bucle)

   printf("\ntu numero NO es primo\n");




return 0;
     
}
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 »

No, el 1 no vale para primo o no primo.
Imagen

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 »

Esto, números enteros? El -1 lo es.

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

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

Mensaje por dark_sasuke »

m0skit0 escribió:No, el 1 no vale para primo o no primo.


No entiendo muy bien lo que quieres decir profe, al comprobar que es 1 se detiene el programa y no comprueba si es primo o no

arisma escribió:Esto, números enteros? El -1 lo es.


weno ese enunciado lo cambio profe arisma :D
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 »

dark_sasuke escribió:No entiendo muy bien lo que quieres decir profe, al comprobar que es 1 se detiene el programa y no comprueba si es primo o no

Sí, eso es, pero no necesita una condición aparte... A ver, que os mareo xD Me refiero a esto:

Código: Seleccionar todo

if (numero_introducido <= 1)
   printf("El numero introducido no es valido\n");
else
   // Ya se calcula si es o no primo
Imagen

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

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

Mensaje por dark_sasuke »

por fin!!!! lo termine :juasjuas:

Spoiler:

Código: Seleccionar todo

#include <stdio.h>

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

{

int  num_insertado, bucle = 2;
   
//bienvenida al programa y escaneo del numero
printf("bienvenido a este programa :)\n");
printf("por favor inserte un numero y te dire si es primo : ");
scanf("%d", &num_insertado);

   
if(num_insertado <=1)
{   
   printf("\nel 0, el 1 ni los negativos son validos melon, ya que no son numeros naturales!\n");

return 0;
}
else     
   
   printf("\ntu numero es un numero natural, muy bien :) y ademas\n");


while(num_insertado%bucle!=0)
   bucle++;


if(num_insertado==bucle)     

   printf("\ntu numero es primo\n");


if(num_insertado!=bucle)

   printf("\ntu numero NO es primo\n");




return 0;
     
}
Imagen

Responder