[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.