gpt4 book ai didi

c - 二维数组 rand 函数乘法

转载 作者:行者123 更新时间:2023-11-30 16:27:27 25 4
gpt4 key购买 nike

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define ROWS 2
#define COLS 3
#define ROW 3
#define COL 4
int main(void)
{

int e, f;

srand((unsigned)time(NULL));

int A[ROWS][COLS];

int a; int b;
for (a = 0; a < ROWS; ++a)
{
for (b = 0; b < COLS; ++b)
{
printf("%d ", A[a][b] = rand() % 9 + 1);

}
printf("\n");
}

printf("-------------------------\n");

int B[ROW][COL];

int c; int d;
for (c = 0; c < ROW; ++c)
{
for (d = 0; d < COL; ++d)
{
printf("%d ", B[c][d] = rand() % 9 + 1);
}

printf("\n");
}

return 0;
}

此代码使用 rand 函数。制作二维数组。 [整数A,整数B]

我想要使用二维数组中的随机值进行乘法。

我想制作另一个二维数组。和 int A * int B前任)int C= int A*int B(二维数组)

最佳答案

你可以在网上找到大量矩阵乘法的 C 示例,所以我的第一个建议是先做一些搜索!

无论如何,一个简单的解决方案是:

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define ROWS 2
#define COLS 3
#define ROW 3
#define COL 4
int main(void)
{
int A[ROWS][COLS];
int B[ROW][COL];
int C[ROWS][COL];
int i, j, k;

srand((unsigned)time(NULL));

for (i = 0; i < ROWS; ++i)
{
for (j = 0; j < COLS; ++j)
{
printf("%d ", A[i][j] = rand() % 9 + 1);
}
printf("\n");
}

printf("-------------------------\n");

for (i = 0; i < ROW; ++i)
{
for (j = 0; j < COL; ++j)
{
printf("%d ", B[i][j] = rand() % 9 + 1);
}
printf("\n");
}

printf("-------------------------\n");

if (COLS != ROW) {
printf("Unable to multiple the 2 matrixes!\n");
return -1;
}

for (i = 0; i < ROWS; i++) {
for (j = 0; j < COL; j++) {
int tmp = 0;
for (k = 0; k < COLS; k++) {
tmp += A[i][k] * B[k][j];
}
printf("%d ", C[i][j] = tmp);
}
printf("\n");
}

return 0;
}

当然需要检查第一个矩阵的列数与第二个矩阵的行数是否匹配。

我还简化了您使用的一些变量,因为它们不是必需的。

关于c - 二维数组 rand 函数乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52722729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com