gpt4 book ai didi

c++ - 调整 NTL vector 的大小

转载 作者:行者123 更新时间:2023-11-28 07:15:24 24 4
gpt4 key购买 nike

我想在运行程序期间调整 ZZ vector 的大小。有没有什么办法,怎么做到的?我找到了方法 .setLenght() 或者 .DosetLenght(),但它似乎只是初始化步骤,因为我的程序/语法拒绝使用这些方法更改 vector ..

非常感谢。

 Vec<ZZ> v1,v2;
v1.SetLength(8);
v2.SetLength(8);
ZZ velkeCislo,odmocnina,factor,test;
long i = 0;
cin >> velkeCislo;
odmocnina = SqrRoot(velkeCislo);
cout << "new v1 dlzka " << v1.length() << endl;
for(i=0;i<v1.length();i++) {
v1(i) = odmocnina;
odmocnina++;
cout << "Number1 " << v1(i) << endl;
}
for(i=0;i<v1.length();i++){
v2(i)=(v1(i)*v1(i))-velkeCislo;
cout << "Number2 " << v2(i) << endl;
}
bool found=false;
int tp = v1.length();
cout << "old v1 " << v1.length() << endl;
v1.SetLength(tp+1); //causes error
cout << "new v1 " << v1.length() << endl;

最佳答案

您的代码的问题也得到解释here .您正在使用方法 v1(i) 访问数组,但这是一个基于 1 的索引系统,因此您的程序中存在越界访问。将 v1(i) 替换为 v1[i](从零开始),您的程序应该可以运行。

关于c++ - 调整 NTL vector 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20313784/

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