酷代码 AI
菜单
服务商

题目描述 n×m矩阵大部分元素是0的矩阵称为稀疏矩阵; 假设有k个非0元素,则可把稀疏矩阵用K×3的矩阵简记之,其中第一列是行号,第二列是列号,第三列是该行、该列下的元素的值。如: 0 0 0 5 0 2 0 0 0 1 0 0 写简记成: 1 4 5 //第1行第4列有个数是5 2 2 2 //第2行第2列有个数是2 3 2 1 //第3行第2列有个数是1 试编程读入一稀疏矩阵,转换成简记形式,并输出。 输入 第一行为n和m, n为行数,m为列数; 接下来是一个n×m的矩阵,矩阵中每个整数小于1000。 输出 输出矩阵的简记形式。输出顺序按照从左往右,从上往下的顺序输出这k个非0元素.

```python # 读取输入的行数n和列数m n, m = map(int, input().split()) # 初始化一个空列表用于存储稀疏矩阵的简记形式 sparse_matrix = [] # 循环读取矩阵的每一行 for i in range(n): # 读取当前行的元素 row = list(map(int, input().split())) # 遍历当前行的每一个元素 for j in range(m): # 如果当前元素不为0 if row[j] != 0: # 将行号、列号和元素值添加到稀疏矩阵的简记列表中 sparse_matrix.append([i + 1, j + 1, row[j]]) # 遍历简记列表并输出每个元素 for element in sparse_matrix: print(" ".join(map(str, element))) ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 注意矩阵的行号和列号是从1开始的,而在Python的列表索引中是从0开始的,要进行正确的转换。 2. 输入的矩阵元素读取和处理时,要确保输入的格式符合要求,避免因输入错误导致程序出错。 3. 在输出简记形式时,要保证元素之间用空格分隔,并且按正确的顺序输出。 [2025-12-08 12:10:07 | AI写代码神器 | 304点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多