稀疏矩阵三元组乘以任意常数进行输出c语言
时间: 2023-07-09 12:11:33 浏览: 33
假设稀疏矩阵用三个数组来表示,分别为行下标数组row,列下标数组col和值数组val。代码如下:
```c
void sparse_matrix_multiply(int row[], int col[], int val[], int n, int m, int k, int c) {
int i, j;
for(i = 0; i < n; i++) {
for(j = row[i]; j < row[i+1]; j++) {
val[j] *= c; // 乘以常数c
}
}
// 输出结果
for(i = 0; i < n; i++) {
for(j = 0; j < m; j++) {
int v = 0;
int p;
for(p = row[i]; p < row[i+1]; p++) {
if(col[p] == j) {
v = val[p];
break;
}
}
printf("%d ", v);
}
printf("\n");
}
}
```
其中,n表示稀疏矩阵的行数,m表示列数,k表示非零元素个数,c表示常数。函数先遍历稀疏矩阵的每个元素,将其乘以常数c,然后再按照普通矩阵的方式输出结果。注意,输出时需要判断当前位置是否有非零元素,如果有则输出其值,否则输出0。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)