如何在C ++中创建复数向量?

时间:2018-08-24 13:36:59

标签: c++ vector complex-numbers

我有n个复数的两个输入(实部和虚部)。我不知道如何将它们一起存储在一个向量中,这样我就可以使用STL复杂函数执行复杂的计算。这是我尝试过的方法,但是超过了时间限制。

vector<complex<double> > a;
for(i=0;i<d;i++)
{
    int temp;
    cin>>temp;
    real.push_back(temp);
}
for(i=0;i<d;i++)
{
    int temp;
    cin>>temp;
    imag.push_back(temp);
}
for(i=0;i<d;i++)
{
    a.push_back(complex<double>(real[i], imag[i]));
}

1 个答案:

答案 0 :(得分:0)

这是我使用的示例:

double real;
double imaginary;
std::vector<std::complex<double> > database;
//...
std::cin >> real;
std::cin >> imaginary;
const std::complex<double> temp(real, imaginary);
database.push_back(temp);

在上面的示例中,我分别读取了实部和虚部。接下来,我使用实部和虚部创建一个临时complex对象。最后,我将该值push_back存入数据库。