我已經給出了這個問題來發現某個階的矩陣是上三角形,下三角形還是簡單的對角矩陣。 我編譯了下面的代碼。它對於上三角形和對角線部分成功運行,但下三角形條件從不檢查。發現一個矩陣是上三角形,下三角形還是對角線
int main()
{
int mat[10][10];
cout<< "\n Enter dimension of square matrix;";
int n;
cin>>n;
cout<< "\n Enter the elements for the matrix :";
for(int i=0; i< n ; i++)
for (int j = 0; j< n ; j++)
{
cout<<"\n Element for positon : " << i+1 << " , " << j+1 << ":";
cin>> mat[i][j];
}
int flag1=0,flg2=0,flg3=0;
for(int i=0; i< n ; i++)
for (int j = 0; j< n ; j++)
{
if(i == j)
if(mat[i][j] == 0)
{
flag1 = 1;
break;
}
if(i!= j)
{
if(mat[i][j]!=0)
{
flag1 = 1;
break;
}
else if(mat[i]>mat[j] && mat[i][j]==0)
{
flg2=flg2+1;
}
else (mat[i]<mat[j] && mat[i][j]==0)
{
flg3=flg3+1;
}
}
}
if(flag1== 0)
{
cout<< "\n A Diagonal Matrix .";
}
else if(flg3==3)
{
cout<<"\n Lower Triangular Matrix.";
}
else (flg2==3)
{
cout<<"\n Upper Triangular matrix.";
}
cout<<"\n\n Matrix :\n";
for(int i=0; i< n ; i++)
{
for (int j = 0; j< n ; j++)
cout<< mat[i][j] << " ";
cout<< endl;
}
getch();
}
我正在使用GCC編譯器(Dev C++)。
(以不說爲什麼,你是一個小無益誰downvoted) – Rook
你的‘三角形’的閾值固定爲3。當然這個值應該取決於'n'! – Rook
實際上我使用mat [3] [3]來運行測試用例,這就是爲什麼我一直保持在3. – demouser123