信息学奥赛一本通 2042:【例5.10】稀疏矩阵

【题目链接】

ybt 2042:【例5.10】稀疏矩阵

【题目考点】

1. 二维数组遍历

【题解代码】

解法1:设二维数组

设二维数组,输入二维数组,遍历二维数组,遇到不是0的元素,输出简记形式

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
	int n, m, a[105][105] = {
    
    };//数组a初始化为0 
	cin >> n >> m;
	for(int i = 1; i <= n; ++i)
		for(int j = 1; j <= m; ++j)
			cin >> a[i][j];
	for(int i = 1; i <= n; ++i)
		for(int j = 1; j <= m; ++j)
		{
    
    
			if(a[i][j] > 0)
				cout << i << ' ' << j << ' ' << a[i][j] << endl;
		}
	return 0;	
}

解法2:不设二维数组

在输入的过程中,如果输入的值大于0,那么直接输出简记形式

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
	int n, m, a; 
	cin >> n >> m;
	for(int i = 1; i <= n; ++i)
		for(int j = 1; j <= m; ++j)
		{
    
     
			cin >> a;
			if(a > 0)
				cout << i << ' ' << j << ' ' << a << endl;
		}
	return 0;	
}

猜你喜欢

转载自blog.csdn.net/lq1990717/article/details/122159381#comments_22702760