gpt4 book ai didi

c++ - vector 操作和存储到第三个 vector

转载 作者:行者123 更新时间:2023-11-28 03:09:46 25 4
gpt4 key购买 nike

我正在使用以下代码将两个 vector a 和 b 中的数量差存储到 vector d 中,但它无法正常工作。你能告诉我错误在哪里吗?输入文件的文本如下:10-对数

8 50   //value in a -space- value in b
74 59
31 73
45 79
24 10
41 66
93 43
88 4
28 30
41 13

代码:

long int x, i = 0, j = 0;
FILE *fp = fopen("jobs.txt", "r");
fscanf(fp, "%lu", &x);
long int c = x;
vector<long int> a;
vector<long int> b;
vector<long int> d;

while (fscanf(fp, "%lu", &x) != EOF)

{
a.pb(x);
i++;
fscanf(fp, "%lu", &x);
b.pb(x);
j++;
}

int k = 0;

while (k < c)
{
d.pb(a[k] - b[k]);
k++;
}

最佳答案

我认为问题可能在于您使用 fscanf 读取的第一个值实际上被丢弃了,因为它会立即被第二次调用 fscanf(while 条件下的那个)覆盖。通过这种方式,您可能会以错误的方式读取值,将第一对的第二个值与第二对的第一个值进行比较,依此类推。只需删除第 3 行的 fscanf 调用即可。

关于c++ - vector 操作和存储到第三个 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18798593/

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