The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+22 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 Veteran (98.3k points)
edited by | 2.6k views
  1. swap symmetric off-diagonal elements
  2. Perform step $1$ for all elements one-after-another
  3. We will get the same matrix

3 Answers

+27 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$.

by Boss (19.9k points)
edited by
But when upper triangular matrix is changed then how the lower triangular matrix get the value of previous upper triangular matrix.
+18 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.
by Boss (23.4k points)
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.
by Active (3.1k points)
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

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
49,807 questions
54,712 answers
79,692 users