PUERTA | GATE-CS-2014-(Conjunto-3) | Pregunta 20

Sea A una array cuadrada de tamaño nx n. Considere el siguiente programa. cual es la salida esperada?

C = 100
for i = 1 to n do
    for j = 1 to n do
    {
        Temp = A[i][j] + C
        A[i][j] = A[j][i]
        A[j][i] = Temp - C
    } 
for i = 1 to n do
    for j = 1 to n do
        Output(A[i][j]);

(A) La propia array A
(B) Transpuesta de la array A
(C) Sumar 100 a los elementos de la diagonal superior y restar 100 a los elementos de la diagonal de A
(D) Ninguna de las anteriores

Respuesta: (A)
Explicación: Si echamos un vistazo en las sentencias internas de los primeros bucles, podemos notar que las sentencias intercambian A[i][j] y A[j][i] por todos los i y j. Dado que el bucle se ejecuta para todos los elementos, cada elemento A[l][m] se intercambiaría dos veces, una vez para i = l y j = my luego para i = m y j = l. Intercambiar dos veces significa que la array no cambia.

Fuente: https://www.geeksforgeeks.org/data-structures-algorithms-set-34/
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *