gpt4 book ai didi

c - 更新 c 中的局部 vector 条目

转载 作者:太空宇宙 更新时间:2023-11-04 05:49:48 24 4
gpt4 key购买 nike

int *my_vector 通过 MPI_Rec 从主进程接收到三个值。现在我想从所有值中减去第一个值并存储。例如

my_vector = { 4,8,12}

从所有元素中减去第一个元素即 4 后,我需要这些值 {0 4 8} 并将它们更新/存储在 my_vector 中。

使用下面的代码

for (i=0;i<=2;i++)
{
my_vector[i]=my_vector[i]-my_vector[0];
}

上面的代码减去第一个元素而不是其他元素并给出 {0 8 12} 而不是 {0,4,8}。提前致谢

最佳答案

那是因为 my_vector[0] 在第一次迭代后得到值 0

在循环之前获取 my_vector[0] 的副本:

tmp = my_vector[0];
for (i=0;i<=2;i++)
{
my_vector[i]=my_vector[i]-tmp;
}

另一种解决方案是从索引 1 开始循环并在循环之后更改索引 0:

for (i=1;i<=2;i++)
{
my_vector[i]=my_vector[i]-my_vector[0];
}
my_vector[0] = 0;

关于c - 更新 c 中的局部 vector 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45688986/

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