Ruby program to print the transpose matrix

bookmark


TwoDArr = Array.new(3){Array.new(3)}
sum = 0;

printf "Enter elements of MATRIX:\n";
i = 0;
while (i < 3) 
  j = 0;
  while (j < 3) 
    printf "ELEMENT [%d][%d]: ", i, j;
    TwoDArr[i][j] =  gets.chomp.to_i;
    j = j + 1;
  end
  i = i + 1;
end

printf "MATRIX:\n";
i = 0;
while (i < 3)
  j = 0;
  while (j < 3) 
    print TwoDArr[i][j]," ";
    j = j + 1;
  end
  i = i + 1;
  print "\n";
end

printf "Transpose of matrix:\n";
i = 0;
while (i < 3)
  j = 0;
  while (j < 3) 
    print TwoDArr[j][i]," ";
    j = j + 1;
  end
  i = i + 1;
  print "\n";
end

 


Output:

Enter elements of MATRIX:
ELEMENT [0][0]: 1
ELEMENT [0][1]: 2
ELEMENT [0][2]: 3
ELEMENT [1][0]: 4
ELEMENT [1][1]: 5
ELEMENT [1][2]: 6
ELEMENT [2][0]: 7
ELEMENT [2][1]: 8
ELEMENT [2][2]: 9
MATRIX:
1 2 3 
4 5 6 
7 8 9 
Transpose of matrix:
1 4 7 
2 5 8 
3 6 9