gpt4 book ai didi

调用 1 个函数来生成 2 个不同的二维数组

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

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

void generate_matrices(int a[5][5], int b[5][5]);
void print_matrix(int a[5][5]);
void multiply_matrices(int a[5][5], int b[5][5], int c[5][5]);
void calc_trace(int a[5][5]);

int main()
{
int a[5][5],b[5][5];
generate_matrices(a,b);
print_matrix(a);

return 0;
}

void generate_matrices(int a[5][5], int b[5][5])
{
int seed,i,j;
printf("Enter seed integer value: ");
scanf("%d",&seed);
printf("\n\nSeed Value is %d\n\n",seed);
srand(seed);
for(i=0;i<5;i++) {
for(j=0;j<5;j++) {
a[i][j]=rand() %51 + (-25);
b[i][j]=rand() %51 + (-25); }
}
}

void print_matrix(int a[5][5]) {

int i,j;
printf("Matrix A:\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%d ",a[i][j]); }
printf("\n");
}
printf("\nMatrix B:\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%d ",a[i][j]); }
printf("\n");
}

}

这是我的一段代码。 generate_matrices 函数工作正常,但是我需要帮助的函数是 print_matrix 函数。我需要调用这个函数两次并让它产生 2 个不同的数组。目前,我在函数中调用了两次 a[i][j],但是我的第二个 a[i][j] 需要是 b[i][j]。

问题是,我不明白如何调用 1 个函数来生成 2 个不同的数组?如果我说得不够清楚,例如:

(...)

print_matrix(a)
print_matrix(b)

(...)


void print_matrix(int a[5][5])
{
(...)
}

所以我调用同一个函数两次来打印 2 个不同的数组,但是我不明白如何第一次调用该函数只生成 1 个数组,然后使用不同的变量再次调用同一个函数产生第二个数组?第一次调用该函数肯定会产生函数本身创建的所有内容???

仅供引用:我无法更改函数名称,或在函数名称等中创建指针。

我希望我已经说得比较清楚了,干杯。

最佳答案

转动这一段代码:

    void print_matrix(int a[5][5])  {

int i,j;
printf("Matrix A:\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%d ",a[i][j]); }
printf("\n");
}
printf("\nMatrix B:\n");
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("%d ",a[i][j]); }
printf("\n");
}

}

进入此:

void print_matrix(int a[5][5])  {

int i,j;
for(i=0;i<5;i++){ //removed matrix dependent line
for(j=0;j<5;j++){
printf("%d ",a[i][j]); }
printf("\n");
} //removed the bottom section of code.

}

然后在 main 中你可以这样调用它:

int main()
{
int a[5][5],b[5][5];
generate_matrices(a,b);
printf("Matrix A:\n"); // tells you which matrix
print_matrix(a); // Pass in matrix a
printf("Matrix B:\n"); // tells you which matrix
print_matrix(b); // Pass in matrix b
return 0;
}

这将独立地打印每个矩阵。通过更改传递给“print_matrix()”函数的矩阵,可以进一步扩展到 N 个矩阵。

关于调用 1 个函数来生成 2 个不同的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36621482/

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