gpt4 book ai didi

c - 如何在C中将两个一维数组相乘后生成一个二维数组?

转载 作者:行者123 更新时间:2023-11-30 19:14:17 26 4
gpt4 key购买 nike

我使用的代码如下:

int m=0;
int n=0;

//to populate the output array
for( int i=0 ; i<3 ;i++)
{
for(int j=0 ;j<3; j++)
{
if(n<3)
{
DeltaWhj[m][n] = deltaO[i][j] *Sh[0][m];
n++;
}
if(m==1 && n<3)
{
DeltaWhj[m][n] = deltaO[i][j] *Sh[0][m];
n++;
}
else
{
DeltaWhj[m][n] = deltaO[i][j] *Sh[0][m];
n++;
}
}
}

for(int i=0 ;i<3 ;i++)
{
cout<<"\n\n";
for(int j=0; j<3 ;j++)
{
cout<<DeltaWhj[i][j]<<"\t\t";
}
}

两个输入数组是:

double deltaO[1][3]={1  , 1 , 1};
double Sh[1][3]={1 , 2 , 1};

将 deltaO 与 Sh 的每个元素相乘后的输出应为

double DeltaWhj[3][3]={
{1 , 1 , 1},
{2 , 2 , 2},
{1 , 1 , 1}};

最佳答案

for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
result[i][j] = Sh[0][i] * deltaO[0][j];
}
}

另外,考虑使用双double deltaO[3]代替deltaO[1][3],并且对于Sh[1][3]。还可以考虑定义一个大小常量并使用它来代替魔数(Magic Number) 3。

关于c - 如何在C中将两个一维数组相乘后生成一个二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34352130/

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