Как использовать Cin для повторных входов? - PullRequest
0 голосов
/ 09 февраля 2020

Я новичок в C ++. Я пытаюсь написать файл, который принимает ввод и вывод, используя cout.
Код:

#include<bits/stdc++.h>
#include<iostream>
using namespace std;
int main()
{

    int t;//No. of testcases

    cin>>t;
    while(t--)
    {
        int n;//number of pairs
        cin>>n;
        cout<<"n="<<n<<"\n";

        int a;//number
        char b;//character
        for(int i=0;i<n;i++){
        cin>>b>>a;
        cout<<b<<" "<<a<<"\n";}

    }
    return 0;
}

Ввод:
2
42
A 3
A 3
A 3
A 3
A 12
A 12
A 12
A 12
A 6
A 6
A 9
B 3
B 3
B 3
B 3
B 12
B 12
B 12
B 12
B 6
B 6
B 6
B 9
B 9
B 9
C 3
C 3
C 3
C 3
C 6
C 6
C 9
C 9
C 12
C 12
C 12
C 12
D 3
D 6
D 6
D 9
D 9
D 12
42
A 3
A 3
A 3
A 3
A 12
A 12
A 12
A 12
A 6
A 6
A 9
B 3
B 3
B 3
B 3
B 12
B 12
B 12
B 12
B 6
B 6
B 6
B 9
B 9
B 9
C 3
C 3
C 3
C 3
C 6
C 6
C 9
C 9
C 12
C 12
C 12
C 12
D 3
D 6
D 6
D 9
D 9
D 12

Требуется выход :

n = 42
A 3
A 3
A 3
A 3
A 12
A 12
A 12
A 12
A 6
A 6
A 9
B 3
B 3
B 3
B 3
B 12
B 12
B 12
B 12
B 6
B 6
B 6
B 9
B 9
B 9
C 3
C 3
C 3
C 3
C 6
C 6
C 9
C 9
C 12
C 12
C 12
C 12
D 3
D 6
D 6
D 9
D 9
D 12
n = 42
A 3
A 3
A 3
A 3
A 12
A 12
A 12
A 12
A 6
A 6
A 9
B 3
B 3
B 3
B 3
B 12
B 12
B 12
B 12
B 6
B 6
B 6
B 9
B 9
B 9
C 3
C 3
C 3
C 3
C 6
C 6
C 9
C 9
C 12
C 12
C 12
C 12
D 3
D 6
D 6
D 9
D 9
D 12

Выход получаю: n = 42
A 3
A 3
A 3
A 3
A 12
A 12
A 12
A 12
A 6
A 6
A 9
B 3
B 3
B 3
B 3
B 12
B 12
B 12
B 12
B 6
B 6
B 6
B 9
B 9
B 9
C 3
C 3
C 3
C 3
C 6
C 6
C 9
C 9
C 12
C 12
C 12
C 12
D 3
D 6
D 6
D 9
D 9
D 12
n = 0

Почему это происходит? Это работает для небольших входов, но когда я непосредственно набираю его, но не принимает никаких входных данных, когда копирую его. Это проблема с онлайн-компиляторами или мне нужно каким-то образом очистить cin, чтобы он принимал ввод. Любая помощь будет оценена.
Редактировать: мне нужно было использовать cin.ignore ()

...