Dizaster
Gebruiker
- Lid geworden
- 16 okt 2007
- Berichten
- 35
Hallo iedereen, ik ben een beetje C++ aan het oefenen d.m.v. simpele opdrachten. Dit simpele programmaatje accepteert een aantal testcases die elk bestaan uit twee getallen gescheiden door een spatie. Deze twee getallen haalt hij uit de input, vermenigvuldigt ze en geeft de uitkomst weer als output.
Voorbeeld van input en bijbehorende output:
Code:
De eerste keer dat het programma de for-lus doorloopt slaat hij getline(cin,input) over ofzo, zodra je namelijk het aantal testcases invoert geeft hij meteen als output 0, omdat result dan nog leeg is. De vijfde input mag je dan ook niet ingeven, hij heeft de lus dan al 5 keer doorlopen. Ik zou hem natuurlijk de lus 6 keer kunnen laten doorlopen in plaats van 5, maar dan output hij alsnog een keer een 0 die er net hoort. Mijn vraag is hoe ik er voor kan zorgen dat hij tijdens het eerste keer doorlopen van de lus ook om een input vraagt in plaats van meteen 0 te outputten.
Alvast bedankt voor de hulp en sorry als er iets mankeert aan de manier waarop ik de vraag presenteer, ik heb mijn best gedaan.
Voorbeeld van input en bijbehorende output:
Code:
Input:
5
4 2
123 43
324 342
0 12
9999 12345
Output:
8
5289
110808
0
123437655
Code:
Code:
int main()
{
int cases, x, y, result, pos;
string input, tempstr;
cin >> cases;
for (int i=0;i<cases;i++)
{
getline (cin,input);
pos = input.find(' ');
tempstr = input.substr(0,pos);
x = atoi (tempstr.c_str());
tempstr = input.substr(pos+1,input.length());
y = atoi (tempstr.c_str());
result = x * y;
cout << result << "\n";
}
system ("pause");
}
De eerste keer dat het programma de for-lus doorloopt slaat hij getline(cin,input) over ofzo, zodra je namelijk het aantal testcases invoert geeft hij meteen als output 0, omdat result dan nog leeg is. De vijfde input mag je dan ook niet ingeven, hij heeft de lus dan al 5 keer doorlopen. Ik zou hem natuurlijk de lus 6 keer kunnen laten doorlopen in plaats van 5, maar dan output hij alsnog een keer een 0 die er net hoort. Mijn vraag is hoe ik er voor kan zorgen dat hij tijdens het eerste keer doorlopen van de lus ook om een input vraagt in plaats van meteen 0 te outputten.
Alvast bedankt voor de hulp en sorry als er iets mankeert aan de manier waarop ik de vraag presenteer, ik heb mijn best gedaan.