对m*n稀疏矩阵建立其三元组

题目:对m*n稀疏矩阵建立其三元组 

实现代码:
//对m*n稀疏矩阵建立其三元组 
//输入组合 
//1 2 0 1
//3 0 2 1
//0 1 2 3
#include<iostream>
using namespace std;
#define maxSize 4
int creatTrimat(float A[][maxSize],int m,int n,float B[][3]){
	int k=1;
	for(int i=0;i<m;i++)
		for(int j=0;j<n;j++){
			if(A[i][j]!=0){
				B[k][0]=A[i][j];
				B[k][1]=i;
				B[k][2]=j; 
				++k;
			}
		}
		B[0][0]=k-1;
		B[0][1]=m;
		B[0][2]=n;
		return k;		
}
int main(){
	float A[3][maxSize],B[13][3],k;
	cout<<"请输入三行,每行四个正整数,每四个一换行:"<<endl;
 	for(int i=0;i<3;i++){
	 	cout<<"输入第"<<i+1<<"行:"; 
	 	for(int j=0;j<maxSize;j++){
	 		cin>>A[i][j];
	 	}
	 }
 	k=creatTrimat(A,3,maxSize,B);
 	for(int i=0;i<k;i++){
	 	for(int j=0;j<3;j++){
		 	cout<<B[i][j]<<" ";
		 }
		 cout<<endl;
	 }
 		
		 
 		
} 
输出结果:
请输入三行,每行四个正整数,每四个一换行:
输入第1行:1 2 0 1
输入第2行:3 0 2 1
输入第3行:0 1 2 3
9 3 4
1 0 0
2 0 1
1 0 3
3 1 0
2 1 2
1 1 3
1 2 1
2 2 2
3 2 3
请按任意键继续. . .



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值