C++题目:稀疏矩阵
作者:野牛程序员:2023-08-15 08:46:16题目阅读 2884
【题目描述】 大部分元素是0的矩阵称为稀疏矩阵,假设有k个非0元素,则可以把矩阵用k * 3的矩阵简记之,其中第一列是行号,第二列是列号,第三列是该元素的值。如: 0 0 0 5 简记成:1 4 5 0 2 0 0 2 2 2 0 1 0 0 3 2 1 试编程读入一个3行5列的稀疏矩阵,转换成简记形式。 【输入描述】 输入包括3行,每行5个正整数,以空格隔开,代表一个3行5列的稀疏矩阵。 【输出描述】 输出k行,k为输入的矩阵中非0元素的个数。每行分别代表一个非0元素,按照从左到右,从上到下的顺序。每行包括三个整数,以空格隔开,分别代表该非0元素的行号,列号,以及元素的值。 【样例输入】 0 0 0 0 5 0 0 4 0 0 1 0 0 0 1 【样例输出】 1 5 5 2 3 4 3 1 1 3 5 1
#include <iostream>
using namespace std;
int main() {
int matrix[3][5];
int nonZeroCount = 0;
// 读取稀疏矩阵
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 5; ++j) {
cin >> matrix[i][j];
if (matrix[i][j] != 0) {
nonZeroCount++;
}
}
}
// 输出非0元素的简记形式
//cout << nonZeroCount << endl;
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 5; ++j) {
if (matrix[i][j] != 0) {
cout << i + 1 << " " << j + 1 << " " << matrix[i][j] << endl;
}
}
}
return 0;
}这段代码会读取输入的稀疏矩阵,统计非0元素的个数,然后输出非0元素的简记形式,按照题目要求的顺序输出。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:python pygame编程基础知识
- 下一篇:c++题目:矩形面积
