The Gateway to Computer Science Excellence
+25 votes

Let $A$ be the square matrix of size $n \times n$. Consider the following pseudocode. What is the expected output?

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]);
  1. The matrix $A$ itself
  2. Transpose of the matrix $A$
  3. Adding $100$ to the upper diagonal elements and subtracting $100$ from lower diagonal elements of $A$
  4. None of the above
in Algorithms by
edited by | 3.9k views
  1. swap symmetric off-diagonal elements
  2. Perform step $1$ for all elements one-after-another
  3. We will get the same matrix

4 Answers

+30 votes
Best answer

In the computation of given pseudo code for each row and column of Matrix $A$, each upper triangular element will be interchanged by its mirror image in the lower triangular and after that the same lower triangular element will be again re-interchanged by its mirror image in the upper triangular, resulting the final computed Matrix $A$ same as input Matrix $A$.

edited by
But when upper triangular matrix is changed then how the lower triangular matrix get the value of previous upper triangular matrix.
+23 votes
Take a small matrix

1  2

3  4

now trace the iteration

i=1,j=1 //no change in matrix cz a[i,j]=a[j,i]

i=1,j=2 // resultant matrix

1  3

2 4

i=2,j=1 //resultant matrix

1  2

3 4

i=2,j=2 //no change in matrix cz a[i,j]=a[j,i]

we get the original matrix as it is So, Option A is Ans.
crystal clear explanation @RAJESh
Thank U @Rajesh
What is the need of C in d question??why don't v add?
perfect explanation
+3 votes
take a small matrix
[a b]

[c d]

it will give
[a c

b+100 d]
for first row iterated

[a b + 100 -100
c d]
for second row iterated.
hence answer A.
I think first row iteration is wrong as it never store added value 100 in matrix.

plz see the code.

Aspi R Osa again check that logic . u can see that u r wrong.

what is the significance of last for loop in the question?
To print the rows of the Matrix.
It given transpose of the matrix i dont get the answer A pls perform i=2 and j=1 it doesn't swap the elements
0 votes

Let  be a small matrix.
For first row iteration, it get swapped and becomes 
For second row iteration, it comes to the original position
So, it is the same matrix A.


Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
52,375 questions
60,572 answers
95,388 users