发现矩阵是上三角形,下三角还是对角线
Finding whether a matrix is upper triangular,lower triangular or diagonal
我被给出了这个问题,以查找某些顺序的矩阵是上三角形的,下三角还是仅仅是对角线矩阵。我编译了以下代码。它成功地用于上三角形和对角线部分,但从未检查过下三角形条件。
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<<"nn 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 )。
当您表示i>j
时,您正在比较mat[i]>mat[j]
,对于<
。
其他不应该有条件
else (mat[i]<mat[j] && mat[i][j]==0) {...}
简单地写:
else {...
再次在:
else (flg2==3) {...}
简单地写:
else {...
因此,代码不应编译,但是说明
的错误"预期令牌; {"
之前
将在45:17和60:5
相关文章:
- 如何在cuSparse中得到稀疏矩阵的对角线
- 如何打印数组对角线的一侧
- 检查 2D 网格的某个元素是否与另一个元素共享对角线、水平线或垂直线
- 我必须计算方阵的对角线元素之和的差值
- 形成一个斐波那契三角形,使得每个数字是上面左对角线或右对角线上两个数字的总和
- 给定一个 3 x 3 矩阵或任何 n x n 矩阵,为什么我的以下函数找不到对角线差异?
- C++*对角线差异*问题,我哪里出错了?
- 方阵的对角线差
- 如何在 CSR 矩阵的对角线块中计算每行的非零数
- 矩阵中主对角线下的最高偶数.超大数字的解决方案?
- 三角化元组
- 为什么这个Pascal三角实现给了我尾随的零
- 矩阵c++的对角线元素的和
- CGAL-三角网格,返回面对面映射
- 打印两个反向空心矩形,然后在其内部打印两条对角线
- 如何访问CGAL三维三角测量中的面
- 具有块对角线结构的特征矩阵
- 了解 8 女王拼图的对角线搜索
- 发现矩阵是上三角形,下三角还是对角线
- 使用RcppArmadillo用矢量填充上三角矩阵(包括对角线)