Post #10
Antes de continuar veremos como enlazar condiciones. Para ello veamos un ejemplo.
Ejemplo 9: diseña un programa que pida al usuario un número. Si el número es mayor que 22 que muestre el número por pantalla, si es negativo que muestre por pantalla la cadena "Muy mal." y en cualquier otro caso que no muestre nada por pantalla y termine.
#include
int main() {
int num1;
printf("Introduce un numero: ");
scanf("%i",&num1);
if(num1
Este código es completamente válido, aunque algo confuso, por tener ifs encadenados. Podemos simplificarlo usando "else if". Un else if siempre va después de un if o después de un else if. else if es como else pero permite añadir una condición, es decir, si la condición anterior es falsa pero se cumple otra condición, se realiza una acción.
if(condición) {
acción
}
else if(otra_condición) {
acción
}
else if(otra_condición_mas) {
acción
}
//Además podemos añadir después un else
else {
acción
}
Usando else if el programa anterior quedaría:
#include
int main() {
int num1;
printf("Introduce un numero: ");
scanf("%i",&num1);
if(num1 < 0) {
printf("Muy mal.\n");
}
else if(num1 > 22) {
printf("Tu numero es el %i.\n",num1);
}
system("pause > null");
return 0;
}
Bien, ahora veamos que es un array. Un array es como una lista de valores en la que se distinguen unos elementos de otros por su posición. Hasta ahora cada variable tenía su nombre, en un array tenemos un nombre para el array que contiene varios valores. Podemos distinguir unos de otros por su posición en el array. La posición se indica entre corchetes tras el nombre del array. Una vez vista la teoría vamos a la práctica, que es como mejor se entiende. Para declarar un array se hace lo mismo que para declarar una variable. Se pone el tipo de datos, y el nombre del array, pero ahora tenemos que poner después del nombre el número de elementos que contendrá entre corchetes. Vamos a declarar un array de 5 enteros:
int mi_array[5];
Y, ya está, tenemos un array que podrá contener 5 números enteros. Ahora vamos a darle algún valor. Hay dos formas de hacerlo, una es poner todos los valores entre llaves separados por comas. Vamos a ello:
mi_array = { 0, 1, 2, 3, 4 };
Sin embargo, si tenemos que hacer esto cada vez que queramos cambiar el valor de un array no tendría sentido usar un array. Los arrays son útiles porque podemos referirnos a cualquier elemento de la lista. Aquí viene algo un poco difícil de pillar. Si tenemos un array de 5 elementos las posiciones a las que podemos referirnos son la 0, la 1, la 2, la 3 y la 4, pero no la 5. Si tenemos un array de N elementos podremos usar desde la posición 0 a la N-1. Vamos a rellenar el array con valores de esta forma.
mi_array[0] = 0;
mi_array[1] = 1;
mi_array[2] = 2;
mi_array[3] = 3;
mi_array[4] = 4;
Ya lo hemos rellenado con los cinco valores que queríamos. Muy largo, ¿no? Por suerte hay algo que nos puede facilitar el trabajo: los bucles. Vamos a ver lo mismo de antes con un bucle for. Suponiendo que ya tenemos la variable i creada:
for(i = 0; i < 5; i++) {
mi_array[i] = i;
}
Como ya dijimos antes, una variable puede usarse como el valor que contiene, por eso podemos poner la i entre los corchetes. Sin embargo, [color]en C no podemos usar una variable para definir de qué tamaño va a ser un array al declararlo[/color]. Es decir, este código es incorrecto, y por tanto no funciona en un compliador de C:
[code]int variable = 10, array[variable];[/code]A la hora de crear un array de un tamaño tenemos que poner ese número a mano.
Ahora vienen los ejercicios:
[u]Ejercicio 21 (M): Diseña un programa que pida al usuario dos números. Si su diferencia es menor que el primer número nos saludará por pantalla, si su diferencia no es menor que el primer número pero es menor que el segundo se despedirá. Si su diferencia es mayor que el primer número y que el segundo, mostrará la suma de los dos números por pantalla.[/u]
[u]Ejercicio 22 (B): Crea un programa que cree un array de 7 enteros, pida al usuario que rellene el array con valores y luego los muestre todos por pantalla. Usa bucles para resolver este ejercicio.[/u]
[u]Ejercicio 23(M): Diseña un programa que rellene un array con 6 valores de tu elección. Los valores que estén en una posición par del array serán multiplicados por dos, y los que estén en una posición impar serán divididos entre dos. Finalmente se mostrará el array entero. Usa bucles para resolver este ejercicio.[/u][/i]