用C++随机生成一个10*10的稀疏率为0.24的稀疏矩阵
时间: 2024-05-15 15:17:16 浏览: 44
C和C++实现稀疏矩阵创建、快速转置(数据结构)
5星 · 资源好评率100%
可以使用以下代码生成一个稀疏矩阵:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROWS 10
#define COLS 10
#define SPARSITY 0.24
int main() {
int matrix[ROWS][COLS] = {0};
int i, j;
srand(time(NULL));
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
if ((double)rand() / RAND_MAX <= SPARSITY) {
matrix[i][j] = rand() % 100;
}
}
}
printf("Sparse matrix:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
if (matrix[i][j] != 0) {
printf("%d ", matrix[i][j]);
} else {
printf("0 ");
}
}
printf("\n");
}
return 0;
}
```
输出示例:
```
Sparse matrix:
0 0 0 0 0 0 0 33 0 0
0 0 86 0 53 0 85 0 67 0
0 69 0 0 0 0 0 23 76 0
0 0 0 15 0 96 0 0 0 0
0 0 0 0 0 0 0 0 96 75
0 0 0 0 22 0 0 0 0 0
0 0 0 0 0 96 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 56 78 0 0 0 0 0 0
0 0 85 68 0 0 0 63 97 0
```
阅读全文