【发布时间】:2014-04-19 16:47:11
【问题描述】:
我过去在网上用 c++ 进行了一些自学,但后来放弃了,直到我买了一本关于它的教科书并再次尝试。在我过去的研究中,我从来没有读过关于向量数组的任何东西(或者我可能读过但不记得了,谁知道呢)。
不管怎么说,它就像常规数组一样,可以为任何数据类型创建向量数组,我正在尝试创建一个 char 向量数组,但我遇到了一些编译错误,看看吧。
我想要一个包含 26 个字母的数组,其中包含字母表中的所有大写字母。所以我认为是 65 到 91。如果有更简单的方法来用我有兴趣学习的字母初始化数组。
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector <char> vchChar(26, 65);
for (int iii = 0; iii < vchChar.size(); iii++ )
{
for (int jjj = 65; jjj < 91; jjj++)
{
vchChar(iii) = jjj;
cout << "vchChar(" << iii+1 << ") is:\t" << vchChar(iii) << endl;
}
//cout << "vchChar(" << iii+1 << ") is:\t" << vchChar(iii) << endl;
}
return 0;
}
最初我用方括号代替圆括号,修复了这个问题,并希望它可以工作,但是当我尝试在 cout 语句中更改它们时,出现了一整套新问题。当我将它们放在方括号中时,它会在终端中打印出来,没有编译错误。所以现在我有了类似的 cout 语句
cout << "vchChar(" << iii+1 << ") is:\t" << vchChar[iii] << endl;
我认为向量数组从它之前的元素递增一。但是当我将 vchChar 打印到所有'A'的终端时,我得到的只是。因此,我尝试使用另一个 for 循环来分配它们之前的元素中的一个。我得到了一些我想要的不同的输出,但找不到合适的算法来做。
我会坚持下去,但这篇文章的答案对我来说同样有益。我不知道我在做什么,所以发布你所拥有的一切,但请记住,我可能不知道你在说什么:S。我可能遗漏了一些东西,因为我在故障排除时稍微更改了代码,所以如果有任何问题,请提出,并感谢您的时间。
【问题讨论】:
标签: c++ arrays for-loop vector