DIGIT-ARC read-only archive · snapshot: July 23, 2026

Incredible Input Incredible Output (ProgLang-C++)(Comp-TC++)

4 posts · originally from https://geek.digit.in/community/threads/incredible-input-incredible-output-proglang-c-comp-tc.78183/

The Incredible
The Incredible Original post #1
Jan 14, 2008 at 2:42 AM
Here're two progs to transpose and mxn matrix and reverse the same.

Code:
//TO REVERSE A 3X4 MATRIX.//
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
clrscr();
int a[3][4];
for(char i=0;i<3;++i)
   {
   for(char j=0;j<4;++j)
      cin>>a[i][j];
   }
for(i=2;i>=0;--i)
   {
   for(char j=3;j>=0;--j)
      cout<<setw(2)<<a[i][j]<<" ";
   cout<<endl;
   }
getch();
}
Code:
//TO TRANSPOSE A MXN MATRIX.//
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void main()
{
clrscr();
int a[3][4];
cout<<"ENTER THE ELEMENTS OF ARRAY : ";
for(char i=0;i<3;++i)
   {
   for(char j=0;j<4;++j)
      cin>>a[i][j];
   }
for(i=0;i<4;++i)
   {
   for(char j=0;j<3;++j)
      cout<<setw(3)<<a[j][i]<<" ";
   cout<<endl;
   }
getch();
}

Give the Input :
01 02 03 04
05 06 07 08
00 00 00 00

You'll get the Output :
Case I:
00 00 00 08
00 07 06 05
04 03 02 01
Case II:
01 05 08
02 06 00
03 07 00
04 00 00

What is making the output go wrong ??
QwertyManiac
Jan 16, 2008 at 12:44 PM
Am getting both right, but using a normal int counter set (i,j) rather than a char one.

Input:
Code:
01 02 03 04

05 06 07 08

00 00 00 00
Output (Reverse):
Code:
 0  0  0  0 

 8  7  6  5 

 4  3  2  1
Output (Transpose):
Code:
  1   5   0 

  2   6   0 

  3   7   0 

  4   8   0
The Incredible
Jan 20, 2008 at 6:47 PM
So, just because of the use of char(i,j) set, the results are altering ?
QwertyManiac
Jan 20, 2008 at 7:55 PM
Just tried it with char (i,j) too, but it does the same thing, my output is all right.

Maybe you need to add char to both the counter usage parts, like ISO C++ demands?

Like this:
Code:
//TO TRANSPOSE A MXN MATRIX.//
#include<iostream>
#include<iomanip>

using namespace std;

main()
{
int a[3][4];
cout<<"ENTER THE ELEMENTS OF ARRAY : ";
for(char i=0;i<3;++i)
   {
   for(char j=0;j<4;++j)
      cin>>a[i][j];
   }
for([B]char[/B] i=0;i<4;++i)
   {
   for([B]char[/B] j=0;j<3;++j)
      cout<<setw(3)<<a[j][i]<<" ";
   cout<<endl;
   }
}