ich auf einige Rekursion Praxis arbeite und ich brauche ein Programm zu schreiben, die die Eingabe einer ganzen ZahlWie wird eine negative Ganzzahl in C++ rekursiv umgekehrt?
Beispiel Eingabe umkehren: cin >> 12345; Die Ausgabe sollte 54321
sein, aber wenn die ganze Zahl negativ ist das negative Vorzeichen muss nur die erste Nummer angehängt werden.
Beispiel für Eingabe: cin >> -1234; Ausgabe -4321
Ich habe es schwer, mein Programm an die negativen Zahlen anzupassen. Die Art und Weise hat ich es einrichten, wenn ich
Beispiel Testlauf: 12345 Ich erhalte den rechten Ausgang 54321
Also meine Rekursion und Basis erfolgreich ist. Aber wenn ich eine negative laufen bekomme ich
Beispiel Test: -12.345 ich dies aus einem Grund verstehe ich nicht -5-4-3-2 1
#include<iostream>
using namespace std;
void reverse(int);
int main()
{
int num;
cout << "Input a number : ";
cin >> num;
reverse(num);
return 0;
}
void reverse(int in)
{
bool negative = false;
if (in < 0)
{
in = 0 - in;
negative = true;
}
if (in/10 == 0)
cout << in % 10;
else{
if (negative == true)
in = 0 - in;
cout << in % 10;
reverse(in/10);
}
}
if (in <0) return (-1 * reverse (-1 * in); –
Warum nicht Sie drucken nur ein '-' und dann normal weiter mit '-in'? – 5gon12eder
' cin >> 12345' was? –