📚 DE LIBRE ACCESO · SIN LOGIN

Respuestas modelo

Consulta aquí las respuestas correctas y explicaciones de las autoevaluaciones y los tests del manual. Ideal para repasar antes de un test o aclarar dudas.

111
🎯 autoevaluación
355
📝 test · opción múltiple
111 / 111
✍️ test · abiertas con respuesta
37
temas cubiertos
✕ Limpiar

3.04 · Arreglos Bidimensionales (Matrices)

16 preguntas con respuesta en este tema.

🎯 Autoevaluación (3)

1
🎯 AE

¿Cómo se declara una matriz 3x4 de enteros en C++?

  • A. int m[3,4];
  • B. int m[3][4]; ✓ CORRECTA
  • C. int m(3,4);
  • D. matrix<int> m(3,4);
💡 Por qué es correcta:

int m[3][4]; declara una matriz de 3 filas y 4 columnas.

2
🎯 AE

Para acceder al elemento de la fila 2, columna 3 en `m`, ¿qué sintaxis usas?

  • A. m(2,3)
  • B. m[2][3] ✓ CORRECTA
  • C. m[2,3]
  • D. m{2}{3}
💡 Por qué es correcta:

En C++ se accede con m[fila][columna]. m[2][3] = fila 2, columna 3 (índice base 0).

3
🎯 AE

¿Cómo recorres todos los elementos de una matriz 3x4?

  • A. Un solo for
  • B. Dos for anidados (filas y columnas) ✓ CORRECTA
  • C. Un while
  • D. Un switch
💡 Por qué es correcta:

Para matrices 2D necesitas dos bucles: uno externo para filas, otro interno para columnas.

📝 Test · Sección A · Opción múltiple (10)

1
📝 MC

¿Cómo se declara una matriz 3x4 en C++?

  • A. int m[3,4];
  • B. int m[3][4]; ✓ CORRECTA
  • C. matrix m(3,4);
  • D. int m(3)(4);
💡 Por qué es correcta:

int m[3][4]: 3 filas, 4 columnas.

2
📝 MC

¿Cómo acceder al elemento fila 2 columna 3?

  • A. m(2,3)
  • B. m[1][2] ✓ CORRECTA
  • C. m[2][3]
  • D. m{2}{3}
💡 Por qué es correcta:

Índices base 0: fila 2 = índice 1, columna 3 = índice 2.

3
📝 MC

¿Cómo se recorre una matriz 2D?

  • A. Un for
  • B. Dos for anidados (filas, columnas) ✓ CORRECTA
  • C. Un while
  • D. Un switch
💡 Por qué es correcta:

for filas, dentro for columnas. Acceso m[i][j].

4
📝 MC

¿Qué es una matriz triangular?

  • A. Cuadrada
  • B. Solo tiene valores en o por encima/debajo de la diagonal ✓ CORRECTA
  • C. 1x1
  • D. Vacía
💡 Por qué es correcta:

Triangular superior/inferior: tiene datos solo en una mitad.

5
📝 MC

Para una matriz de 3x3, ¿cuántos elementos tiene?

  • A. 6
  • B. 9 ✓ CORRECTA
  • C. 3
  • D. 12
💡 Por qué es correcta:

3 * 3 = 9 elementos.

6
📝 MC

¿Cómo se inicializa una matriz?

  • A. int m[2][3] = {{1,2,3},{4,5,6}}; ✓ CORRECTA
  • B. int m[2,3] = 1,2,3,4,5,6;
  • C. m = [[1,2,3],[4,5,6]]
  • D. Solo en tiempo de ejecución
💡 Por qué es correcta:

Inicialización con dobles llaves: {{fila1}, {fila2}}.

7
📝 MC

¿Qué representa la diagonal principal de una matriz?

  • A. m[0][0], m[0][1]...
  • B. m[0][0], m[1][1], m[2][2]... ✓ CORRECTA
  • C. Solo m[0][0]
  • D. La última fila
💡 Por qué es correcta:

Diagonal: donde fila == columna. m[i][i].

8
📝 MC

¿Cómo sumar dos matrices?

  • A. m1 + m2
  • B. Bucles anidados: resultado[i][j] = m1[i][j] + m2[i][j] ✓ CORRECTA
  • C. Solo en una función
  • D. No se puede
💡 Por qué es correcta:

Suma elemento a elemento. Requiere mismas dimensiones.

9
📝 MC

¿Qué es una matriz identidad?

  • A. Todos 0
  • B. 1s en la diagonal, 0s en el resto ✓ CORRECTA
  • C. Todos 1s
  • D. Aleatoria
💡 Por qué es correcta:

Identidad: 1 en m[i][i], 0 en otros. Es el elemento neutro de la multiplicación.

10
📝 MC

¿Cómo se pasa una matriz a una función?

  • A. Como valor
  • B. Con declaración del tamaño: void f(int m[][MAX]) ✓ CORRECTA
  • C. No se puede
  • D. Solo puntero
💡 Por qué es correcta:

Debe especificar todas las dimensiones menos la primera: void f(int m[][10]).

✍️ Test · Sección B · Preguntas abiertas (3)

11
✍️ AB

Diseña un algoritmo que encuentre el número más grande de una matriz 3x3 y su posición.

💡 Por qué es correcta:

int max = m[0][0], maxF=0, maxC=0; for (int i=0; i<3; i++) for (int j=0; j<3; j++) if (m[i][j] > max) { max = m[i][j]; maxF = i; maxC = j; }.

12
✍️ AB

¿Cómo sumarías dos matrices? Escribe el pseudocódigo.

💡 Por qué es correcta:

matriz sumar(m1, m2) { resultado[f][c] = 0; for (i=0; i<filas; i++) for (j=0; j<cols; j++) resultado[i][j] = m1[i][j] + m2[i][j]; return resultado; }. Requiere mismas dimensiones.

13
✍️ AB

Explica la diferencia entre una matriz y un vector de vectores. ¿Cuándo usar cada uno?

💡 Por qué es correcta:

Matriz estática int m[3][4]: tamaño fijo en compilación, memoria contigua. Vector de vectores vector<vector<int>>: tamaño dinámico, cada fila independiente. Matriz: cuando el tamaño es conocido y fijo. Vector de vectores: cuando las dimensiones pueden cambiar en runtime.

📝 ¿Listo para evaluarte?

Regístrate o inicia sesión para tomar la autoevaluación o el test de este tema y registrar tu puntaje.