例如设矩阵为5行5列
矩阵的三元组为 row col value
1 1 2
2 1 3
3 2 5
4 2 3
输出的结果为:
2 0 0 0 0
3 0 0 0 0
0 5 0 0 0
0 3 0 0 0
0 0 0 0 0
#include<iostream>
using namespace std;
int main()
{
int ai[4][3]={ {1,1,2},
{2,1,3},
{3,2,5},
{4,2,3}
};
int ib[5][5];
for(int i=0;i<5;i++)/* 第一行的下标是0,给的矩阵是第一行是1来着,我把i改1的i<6,后面就不用ai[i][k]-1咯,可是改了以后了输出的前两行就输出不正确了,什么原因那个大哥讲解下*/
{
for(int j=0;j<5;j++)
{
if(i==(ai[0][0]-1)&&j==(ai[0][1]-1))
ib[i][j]=ai[0][2];
else if (i==ai[1][0]-1&&j==ai[1][1]-1)
ib[i][j]=ai[1][2];
else if (i==ai[2][0]-1&&j==ai[2][1]-1)
ib[i][j]=ai[2][2];
else if(i==ai[3][0]-1&&j==ai[3][1]-1)
ib[i][j]=ai[3][2];
else
ib[i][j]=0;
}
}
for(int m=0;m<5;m++)
{for(int n=0;n<5;n++)
cout<<ib[m][n];
cout<<endl;}
cout<<endl;
return 0;
}
可以输出您要的结果,我是尝试着写的,我也刚学,错误的地方还望指教,我自己还有几个地方不明白在文中注释出来望高手指教!!
[此贴子已经被作者于2007-10-16 11:44:37编辑过]