Ejercicios del curso de programación
-
POST #2 Ejercicio 4(M) Parezco gilipollas posteando esto a estas alturas _xD_
POST #3 Ejercicio 5(A)
POST #3 Ejercicio 6(A)
POST#3 Ejercicio 7(M)
POST#4 Ejercicio 8(B)
POST#4 Ejercicio 9(M)
POST#4 Ejercicio 10(A)
-
Los primeros los tienes bien, pero los de los bucles no xD. De todas formas el error es sencillo, mira por ejemplo el ejercicio 8, si ponemos el número 5 deberá restarle 3 tres veces, la primera pasará a valer 2, que no es menor que -3, la segunda pasará a valer -1, que tampoco es menor que -3 y por último valdrá -4, que sí es menor que -3. Sin embargo, tu programa lo que hace es repetir mientras que el número sea menor que tres. Es decir, que al principio, como 5 no es menor que 3, no haría nada el programa. Es decir, que tienes que poner la condición opuesta, en lugar de NUM < -3 deberías poner NUM >= -3. Si lo has entendido no hace falta que los repitas, porque es un fallo muy tonto, pero que hay que tener en cuenta o luego cuando programes el programa no hará lo esperado xD.
Un saludo! :icon_cheesygrin:
-
POST# 7 Ejercicio 12(B)
#include
int main() {
int numero;
printf("Introduce un numero: ");
scanf("%i", &numero);
fflush(stdin);
int numero1 = numero * 2;
scanf("%i", numero1);
printf("El nuevo numero es %i");
return 0;
}Al ejecutar el programa si que hacia lo esperado, lo posteo por lo siguiente: El programa me pide el numero, yo lo introduzco y le doy a ENTER y no pasa nada, luego pongo otro caracter del teclado, pulso ENTER y me sale el resultado, porque me pasa eso?
Ah y otra cosa, al ejecutar el programa desde afuera del codeblocks, osea desde la carpeta donde esta guardado, al mostrar el resultado se cierra al instante y casi no me deja verlo _xD_ , para evitar eso tengo que poner lo de system("pause > null");?
POST#8 Ejercicio 15(B)
#include
int main() {
int numero;
printf("Introduce un numero: ");
scanf("%i", numero);
if(numero == 7) {
printf("Has acertado! \n");
} else {
printf("Has fallado! \n");
}
return 0;
}En ese ultimo falla algo pero no se lo que es...
-
Tienes varios fallos en ambos. Veamos primero estas dos líneas del ejercicio 12:
scanf("%i", numero1);
printf("El nuevo numero es %i");
Al usar scanf SIEMPRE tienes que poner & delante del nombre de la variable. Ahí se te olvidó
Y luego ese printf... pones el número es %i peo después no pones la variable para mostrarla!
Mira en mi ejemplo:
printf("El numero es %i y el caracter es %c.\n", numero, caracter);
como pongo %i después tengo que poner una variable de tipo entero para mostrar (número) y después como pongo %c tengo que poner un carácter (caracter) xD. Es decir, que después de poner la cadena que quieres mostrar, al cerrar las comillas pones una coma y la variable que quieres mostrar. Si no has entendido cómo funciona printf dímelo y te lo explico con más detalle.En el ejercicio siguiente también te faltó un & en el scanf.
y por último sí, se cierra de golpe por no ponerle el system("pause > null"), pero como los vas a probar siempre desde codeblocks no hace falta que lo pongas xD.
Un saludo!! :wiii:
-
POST# 7 Ejercicio 13(B): (Perdona si te he liado con el nº del ejercicio anterior, es que me salte algunos sin querer _xD_ )
#include
int main() {
int numero1, numero2;
printf("Introduce un numero: ");
scanf("%i", &numero1);
printf("Introduce otro numero: ");
scanf("%i", &numero2);
fflush(stdin);
int numero3 = numero1 - numero2;
scanf("%i", &numero3);
printf("El nuevo numero es %i", numero3);
return 0;POST# 7 Ejercicio 14(B):
#include
int main() {
int numero1, numero2;
printf("Introduce un numero: ");
scanf("%i", &numero1);
printf("Introduce otro numero: ");
scanf("%i", &numero2);
fflush(stdin);
int numero3 = numero1 * numero2;
scanf("%i", &numero3);
int numero4 = numero3 + numero1;
scanf("%i", &numero4);
printf("El resultado es %i", numero4);
return 0;
}POST# 8 Ejercicio 16(M):
#include
int main() {
int numero1, numero2;
printf("Introduce un numero: ");
scanf("%i", &numero1);
printf("Introduce otro numero: ");
scanf("%i", &numero2);
fflush(stdin);
int numero3 = numero1 + numero2;
int numero4 = numero1 * numero2;
if(numero3 < numero4) {
int numero5 = numero1 * 2;
scanf("%i", &numero5);
printf("El doble del primer numero es %i", numero5);
return 0;
} else {
int numero6;
printf("Introduce otro numero: ");
scanf("%i", &numero6);
if(numero6 != 4) {
printf("Adios");
return 0;
} else {
return 0;
}
}
}POST# 9 Ejercicio 17(B):
#include
int main() {
int numero1, numero2, numero3;
printf("Introduce un nunero: ");
scanf("%i", &numero1);
printf("Introduce otro numero: ");
scanf("%i", &numero2);
printf("Introduce otro numero: ");
scanf("%i", &numero3);
fflush(stdin);
while(numero1 < 500) {
int numero1 = numero1 * 4;
} return 0;
while(numero2 < 500) {
int numero2 = numero2 * 4;
return 0;
}
while(numero3 < 500) {
int numero3 = numero3 * 4;
return 0;
}
}POST# 9 Ejercicio 19(B): (En el 18 me he quedado trabado me tendras que ayudar _xD_ )
#include
int main() {
int i;
for(i = 0; i -
No está bien ninguno. Antes de seguir haciendo ejercicios, deberías corregir los que están mal. De momento empieza por corregir los dos últimos en los que te dije en que fallaste, y cuando los hagas bien sigues, porque si no te vas a liar más. Un saludo!
-
POST #9 Ejercicio 20(M):
#include
int main() {
int i, num;
printf("Introduce un numero: ");
scanf("%i", &num);
fflush(stdin);
if(num < 0) {
for(i = 0;i < 15;i++)
printf("Hola\n", i);
} else {
for(i = 4;i > -9;i--)
printf("%i\n", i);
}
return 0;
}POST# 10 Ejercicio 21(M)
#include
int main() {
int num1, num2;
printf("Introduce un numero: ");
scanf("%i", &num1);
fflush(stdin);
printf("Introduce otro numero: ");
scanf("%i", &num2);
fflush(stdin);
int num3 = num1 - num2;
if(num3 < num1) {
printf("Hola");
} else if(num3 < num2) {
printf("Adios");
} else if(num3 > num1, num2) {
int num4 = num1 + num2;
printf("%i", num4);
}
return 0;
} -
Lo siento por tardar tanto en contestar. El ejercicio 20 está muy bien. Otra solución para hacer el último bucle (además de la tuya) es:
for(i = 4;i >= -8;i--)
te lo digo por si te gusta más. Por cierto, te recomiendo que pongas las llaves siempre, aunque solo haya una línea después, porque si no cuando sean varias puede que se te olvide poner las llaves y ya la hemos liado xD.El 21 no está bien, pero por los pelos. Casi seguro que te da error en:
else if(num3 > num1, num2)
¿Desde cuando se pueden poner comas en un if? Desde nunca. Te recomiendo que te repases el post 8, donde enseño a usar el operador &&Un saludo!
-
POST# 10 Ejercicio 23:
#include
int main() {
int mi_array[6], i;
for(i = 0;i < 6;i++) {
printf("Introduce un numero: ");
scanf("%i", &mi_array_);
}
for(i = 0;i < 6;i++) {
if(i % 2) {
mi_array_/ 2;
} else {
mi_array_* 2;
}
}
for(i = 0;i < 6;i++) {
printf("%i", mi_array_);
}
return 0;
}Este se que esta mal pero me lo tendras que explicar detenidamente... _xD_____
-
No está tan mal como tú piensas xD. Fíjate, donde pones "mi_array_/ 2;", ¿estás cambiando el valor de alguna variable? No, eso se hace usando el signo "=" :P_