私は現在C ++を学んでおり、プログラミングの初心者です。私は質問に出くわし、解決しようとしましたが、望ましくない出力になってしまいました。そして、Pythonの家庭教師の助けを借りて、私も実行した後、私のコードの実行、可視化しようとしたcinを>> Qそれは入力を取り、中に私が使用してみました次の文の実行中にエラーが表示されていないのqを。
どうか、誰かが問題の場所とそのようなエラーが発生する原因を教えてもらえますか?
私が解決しようとした問題を確認するには、ここをクリックしてください
#include <iostream>
#include<vector>
using namespace std;
int main() {
int q,t1,t2;
vector<int> v;
cin>>q;
while(q--){
if(cin >> t1>>t2){
if(t1==0)
{
v.push_back(t2);
}
else if(t1==1)
{
cout << v[t2] <<"\n";
}
}
else if(cin >> t1){
if(t1==2)
v.pop_back();
}
}
return 0;
}
それが機能していないと言うとき、あなたが何を意味するのかわかりませんcin
。コードには、機能しなくなるものは何もありません。
ただし、コードにはバグがあります。このコード
if(cin >> t1>>t2){
if(t1==0)
{
v.push_back(t2);
}
else if(t1==1)
{
cout << v[t2] <<"\n";
}
}
else if(cin >> t1){
if(t1==2)
v.pop_back();
}
1つの行から2つの数字を読み取ろうとすることができると想定し、それが機能しない場合は、戻って同じ行から1つの数字を読み取ろうとします。プログラムcin
を作成cin >> t1>>t2
すると、2つの数値を見つけるために必要な数の行から、2つの数値が読み取られます。
コードを正しく記述する方法は次のとおりです。
cin >> t1;
if (t1 == 0)
{
cin >> t2;
v.push_back(t2);
}
else if (t1 == 1)
{
cin >> t2;
cout << v[t2] <<"\n";
}
else if (t1 == 2)
{
v.pop_back();
}
それがどのように機能するか見てみましょう。最初の番号を読み、必要に応じて2番目の番号を個別に読みます。このコードを使用すると、必要に応じて同じ行に両方の番号を入力できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加