C++ 一个while循环,读取两个整数,然后打印它们

C++ 一个while循环,读取两个整数,然后打印它们,c++,C++,我完全被困在“编程-使用C++的原则和实践”第4章的练习中。问题是: “编写一个由while循环组成的程序,该循环(每次循环)读入两个整数,然后打印它们。输入终止“|”后退出该程序。” 这是我的代码: { int entryvariable = 0; int numberofentries = 0; vector<int>vector1; while (cin>>entryvariable) { vector1.push_back(entryvariable)

我完全被困在“编程-使用C++的原则和实践”第4章的练习中。问题是:

“编写一个由while循环组成的程序,该循环(每次循环)读入两个整数,然后打印它们。输入终止“|”后退出该程序。”

这是我的代码:

{
int entryvariable = 0;
int numberofentries = 0;
vector<int>vector1;


while (cin>>entryvariable)
{
    vector1.push_back(entryvariable);
    ++numberofentries;

if (numberofentries % 2 == 0)
    cout<<vector1[numberofentries - 1] << vector1[numberofentries] << "\n";
}
{
int entryvariable=0;
int numberofentries=0;
矢量1;
while(cin>>入口变量)
{
向量1.推回(入口变量);
++项目数量;
如果(numberofentries%2==0)

C++中的CUT< P>索引范围从<代码> 0 >代码>代码> n 1 < /代码>。代码假定您可以访问<代码>向量[n] < /代码>如果<代码>向量1(siz)()=n。在每次迭代中,只读取一个值。但是,您只能读取两个值。C++中的< /P> < P>索引范围从<代码> 0 >代码>到代码> N-1 < /C>。==n
。此外,您在每次迭代中只读取一个值。但是,您只能读取两个值。

您的
向量1[numberofentries]
导致了错误

向量从第0个索引开始

因此,当
numberofentries
为1时,该值存储在
vector1[0]
not
vector1[1]

numberofentries
为2时,该值存储在
vector1[1]
not
vector1[2]

所以你的代码应该是


cout您的
vector1[numberofentries]
导致错误

向量从第0个索引开始

因此,当
numberofentries
为1时,该值存储在
vector1[0]
not
vector1[1]

numberofentries
为2时,该值存储在
vector1[1]
not
vector1[2]

所以你的代码应该是


cout我正在做同样的练习,我已经找到了这本书的谷歌小组——关于练习和练习提问的最佳场所,可以找到一条与你的问题相关的线索


希望这能有所帮助。

我正在做同样的练习,并且已经找到了这本书的谷歌小组——关于练习和练习提问的最佳场所,可以找到与你的问题相关的线索

int main()
{
vector<int>v;
int a=0; 
cin>>a; 
int b=0; 
while (v.size()<2) // insted of 2 it could be another figure for 
                   //   another number of printed figures
{
v.push_back(a); 
cin>>b;
a=b;
}
for (int i=0; i<v.size(); ++i)
cout<<v[i]<<'\n';
}
希望这有帮助。

intmain()
int main()
{
vector<int>v;
int a=0; 
cin>>a; 
int b=0; 
while (v.size()<2) // insted of 2 it could be another figure for 
                   //   another number of printed figures
{
v.push_back(a); 
cin>>b;
a=b;
}
for (int i=0; i<v.size(); ++i)
cout<<v[i]<<'\n';
}
{ 向量; int a=0; cin>>a; int b=0; 而(v.size()>b; a=b; } 对于(inti=0;i
intmain()
{
向量;
int a=0;
cin>>a;
int b=0;
而(v.size()>b;
a=b;
}

对于(int i=0;iYou可以在(cin>>v1>>v2)
期间读取两个int:
。这样就不再需要
矢量1
numberofentries
。您可以在(cin>>v1>>v2)期间读取两个int:
。这样就不再需要
vector1
numberofentries
。也可以在问题中添加问题描述。也可以在问题中添加问题描述。