gpt4 book ai didi

c++ - 将元素插入二维 vector C++

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

我正在尝试将一个元素插入到这个 2D vector 变量中,但我不确定如何使用这个奇怪的 vector 类型来做到这一点

void CaesarCypher::caesarAttack(string inputFileName, string frequencyFileName, string       outputFileName, string phiFile)
{
vector<pair<char, double>> cipherTable = charFreqGen(inputFileName, outputFileName, numberDisplayed);
vector<pair<char, double>> frequencyTable = charFreqGen(frequencyFileName, outputFileName, 150);
vector<pair<int, double>> phiTable;

for (int i = 0; i <= 94; i++)
{
double phi = 0.0;
for (const auto& p : cipherTable)
{
char key = (char) ((int) p.first - i);
auto find_it = find(frequencyTable.begin(), frequencyTable.end(), [key](const pair<char, double>& x) { return x.first == key; });
double value;
if (find_it != frequencyTable.end())
{
value = find_it->second;
}
phi += p.second * value;
//Insert a new element into the phiTable with the int parameter being i and the double paramter being phi
}
}
}

我要插入的地方用注释指定。我希望 i 值进入对的整数部分,phi 值进入 double 部分

最佳答案

要创建一个std::pair,你可以使用std::make_pair()在这种情况下,类型将被自动推导:

phiTable.push_back(std::make_pair(i, phi));

或者您可以自己指定类型:

phiTable.push_back(std::pair<int,double>(i, phi));

关于c++ - 将元素插入二维 vector C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19285665/

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