SESIÓN DE EJERCICIOS E4 Primera parte: ejercicios test(soluciones al final) A resolver antes de comenzar la sesión en el aula Ejercicio 1 int m[n][n] = 1, 1, 1, 2, 2, 2, 3, 3, 3; for(x=1; x < N; x++) for(y=0; y < N; y++) m[x][y] = m[x][y] + m[x-1][y]; printf("%d, %d, %d", m[0][0], m[1][1], m[2][2]); a) 1, 2, 3 b) 1, 3, 6 Ejercicio 2 int m[n][n] = 1, 1, 1, 2, 2, 2, 3, 3, 3; for(x=0; x < N; x++) for(y=1; y < N; y++) m[x][y] = m[x][y] + m[x][y-1]; printf("%d, %d, %d", m[0][0], m[1][1], m[2][2]); a) 1, 2, 3 b) 1, 3, 6
Ejercicio 3 int m[n][n] = 1, 1, 1, 2, 2, 2, 3, 3, 3; for(x=1; x < N; x++) for(y=1; y < N; y++) m[x][y] = m[x-1][y] + m[x][y-1] + m[x-1][y-1]; printf("%d, %d, %d", m[0][0], m[1][1], m[2][2]); a) 1, 3, 6 b) 1, 4, 9 c) 1, 4, 19 Ejercicio 4 int m[n][n] = 1, 1, 1, 2, 2, 2, 3, 3, 3; for(x=1; x < N; x++) for(y=x; y < N; y++) m[x][y] = m[x][y] + m[x-1][y]; printf("%d, %d, %d", m[0][0], m[1][0], m[2][0]); a) 1, 2, 3 b) 1, 3, 6
Ejercicio 5 int m[n][n] = 1, 1, 1, 2, 2, 2, 3, 3, 3; for(x=1; x < N; x++) for(y=0; y < x; y++) m[x][y] = m[x][y] + m[x-1][y]; printf("%d, %d, %d", m[0][0], m[1][1], m[2][2]); a) 1, 2, 3 b) 1, 3, 6 Ejercicio 6 int m[n][n] = 1, 1, 1, 2, 2, 2, 3, 3, 3; for(x=n-2; x >= 0; x--) for(y=0; y < N; y++) m[x][y] = m[x][y] + m[x+1][y]; printf("%d, %d, %d", m[0][0], m[1][1], m[2][2]); a) 3, 4, 3 b) 6, 5, 3
Ejercicio 7 int m1[n][n] = 1, 1, 1, 2, 2, 2, 3, 3, 3; int m2[n][n] = 1, 2, 3, 4, 5, 6, 7, 8, 9; for(x=0; x <N; x++) for(y=0; y < N; y++) m1[x][y] += m2[y][x]; printf("%d, %d, %d", m1[0][2], m1[1][1], m1[2][0]); a) 2, 7, 12 b) 4, 7, 10 c) 8, 7, 6 Ejercicio 8 char cad[100] = "supercalifragilisticexpialidoceous"; cad[strlen(cad)/2] = '\0'; cad[strlen(cad)/2] = '\0'; printf("%s, %d", cad, strlen(cad)); a) supercalifragilisticexpialidoceous, 34 b) supercalifragilis, 34 c) supercalifragilis, 17 d) supercal, 8
Ejercicio 9 char cad1[100] = "hola"; char cad2[100]; int x; strcpy(cad2, cad1); for (x=0; x<strlen(cad1)-1; x++) cad2[x] = cad1[strlen(cad1)-x-1]; if (strcmp(cad1, cad2) > 0) printf("%s, %d", cad2, strlen(cad2)); else printf("%d, %s", strlen(cad2), cad2); a) aloh, 4 b) 4, hola c) aloa, 4 Ejercicio 10 Indica qué afirmación es cierta, sobre el siguiente fragmento de código:... struct int x; int y; punto[30];... a) Declara una variable punto que es un array de 30 estructuras, cada una de las cuales tiene dos componentes (x e y) de tipo entero. b) Declara una estructura que contiene un array de 30 pares de enteros. c) Produce un error de compilación
Ejercicio 11 Segunda parte: ejercicios para programar A resolver durante y después de la sesión en el aula valores introducidos a mano en el código), cuente cuántos números primos contiene. Ejercicio 12 valores introducidos a mano en el código), calcule la diferencia entre los valores mínimo y máximo de la matriz. Ejercicio 13 valores introducidos a mano en el código), escriba las posiciones en las que se encuentran los valores mínimo y máximo de la matriz. Ejercicio 14 valores introducidos a mano en el código), calcule la media de todos los valores e indique cuántos valores están por encima de la media y cuántos por debajo. Ejercicio 15 valores introducidos a mano en el código), escriba el valor máximo de cada una de las filas. Ejercicio 16 valores introducidos a mano en el código), escriba el valor máximo de cada una de las columnas.
Ejercicio 17 Escribid un programa que, dada una matriz de enteros de 3 filas y 4 columnas (con los valores introducidos a mano en el código), escriba todos los valores que aparecen después del valor máximo de la matriz en su misma fila. Por ejemplo, dada la siguiente matriz, escribirá un 9 y un 14: 1 4 7 3 6 26 9 14 17 18 2 10 Ejercicio 18 Escribid un programa que, dada una matriz de enteros de 4 filas y 3 columnas (con los valores introducidos a mano en el código), escriba el contenido en el siguiente orden: 1 2 3 6 5 4 7 8 9 12 11 10 Ejercicio 19 Escribid un programa que, primero pida al usuario escribir, una tras otra, tres palabras que sólo contengan letras minúsculas. Y a continuación el programa ha de escribir cuál es la palabra más larga y cuál es la alfabéticamente menor. Ejercicio 20 Escribid un programa que, primero pida al usuario escribir, una tras otra, tres palabras que sólo contengan letras minúsculas. A continuación el programa ha de concatenar, en una nueva cadena, las tres anteriores, separadas por un espacio en blanco, y en orden creciente. Por último, se ha de escribir por pantalla el resultado.
1. b 2. c 3. c 4. a 5. a 6. b 7. c 8. d 9. c 10. a Soluciones a los ejercicios test