Are negative indexes allowed in c++?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#include<iostream>
using namespace std;
int main()
{
int t,m,n,i,j;
cin>>m>>n;
int T[m][n];
for(i=-1;i<m;i++)
{for(j=-1;j<n;j++)
{
T[i][j]=0;
cout<<"T["<<i<<"]["<<j<<"]="<<T[i][j]<<" ";
}
cout<<endl<<endl;
}
for(i=-1;i<m;i++)
{
for(j=-1;j<n;j++)
{
//cout<<T[i][j]<<" ";
cout<<"T["<<i<<"]["<<j<<"]="<<T[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
|
output-
T[-1][-1]=0 T[-1][0]=0 T[-1][1]=0 T[-1][2]=0 T[-1][3]=0 T[-1][4]=0 T[-1][5]=0
T[0][-1]=0 T[0][0]=0 T[0][1]=0 T[0][2]=0 T[0][3]=0 T[0][4]=0 T[0][5]=0
T[1][-1]=0 T[1][0]=0 T[1][1]=0 T[1][2]=0 T[1][3]=0 T[1][4]=0 T[1][5]=0
T[2][-1]=0 T[2][0]=0 T[2][1]=0 T[2][2]=0 T[2][3]=0 T[2][4]=0 T[2][5]=0
T[3][-1]=0 T[3][0]=0 T[3][1]=0 T[3][2]=0 T[3][3]=0 T[3][4]=0 T[3][5]=0
T[4][-1]=0 T[4][0]=0 T[4][1]=0 T[4][2]=0 T[4][3]=0 T[4][4]=0 T[4][5]=0
T[-1][-1]=0 T[-1][0]=24 T[-1][1]=0 T[-1][2]=-1185892592 T[-1][3]=32764 T[-1][4]=4197545 T[-1][5]=0
T[0][-1]=0 T[0][0]=0 T[0][1]=0 T[0][2]=0 T[0][3]=0 T[0][4]=0 T[0][5]=0
T[1][-1]=0 T[1][0]=0 T[1][1]=0 T[1][2]=0 T[1][3]=0 T[1][4]=0 T[1][5]=0
T[2][-1]=0 T[2][0]=0 T[2][1]=0 T[2][2]=0 T[2][3]=0 T[2][4]=0 T[2][5]=0
T[3][-1]=0 T[3][0]=0 T[3][1]=0 T[3][2]=0 T[3][3]=0 T[3][4]=0 T[3][5]=0
T[4][-1]=0 T[4][0]=0 T[4][1]=0 T[4][2]=0 T[4][3]=0 T[4][4]=0 T[4][5]=0
why different values are getting printed for T[-1][2], T[-1][3], T[-1][4]