Ziffernfolge?
Beispiel 11.1
Schreiben Sie ein Programm, das eine maximal achtstellige natürliche Zahl einliest, diese Zahl mit der umgekehrten Ziffernfolge in eine andere Variable abspeichert und ausgibt und feststellt, ob die neue Zahl größer, kleiner oder gleich der alten Zahl ist. Schreiben Sie hierfür 2 Funktionen, eine, die die Zahl umdreht und in einer anderen Variablen abspeichert und eine weitere Funktion die den Vergleich der beiden Zahlen durchführt.
Verstehe das mit der Ziffernfolge nicht
3 Antworten
Eine achtstellige Zahl wäre z.B. 12345678
Die umgekehrte Ziffernfolge wäre dann 87654321
Ziffer ist der Einzelsbestandteil der Zahl. Eine achtstellige natürliche Zahl hat 8 Ziffern. Um die Ziffernfolge der Zahl umzukehren müßtest du sie zunächst in eine Zeichenkette (einen String) umwandeln. Dann kannst du die Ziffernfolge umkehren. In vielen Programmiersprachen gibt es dazu eine Funktion namens strrev(). So eine Funktion kann man natürlich selber schreiben. Jetzt kommts natürlich drauf an, in welcher Programmiersprache du programmierst. In C wäre eine solche Funktion unter https://www.programmingsimplified.com/c-program-reverse-string beschrieben. Zunächst ermittelt man die Länge l des Strings (das macht man in C mit einer While-Schleife, holt sich ein Zeichen aus der Zeichenkette nach dem anderen, bis man auf '\0' stößt, das Ende des Strings). Dann geht man den ersten String wieder Zeichen für Zeichen durch (beginnend bei 0) und schreibt das x-te Zeichen an die l minus x-te Stelle des Ausgabestrings. Zum Vergleichen der beiden Zahlen muss man den umgedrehten String wieder in eine Integerzahl umwandeln.
die beste mathematische lösung für die umkehr von zahlen ist .
#include <stdio.h>
int reverse(int number);
int main()
{
printf("%d",reverse(2002330200));
}
int reverse(int number) {
int reverse = 0;
do{
reverse= reverse*10+(number%10);
number /= 10;
} while (number > 0);
return reverse;
}
geht natürlich nur solange die zahl im int bereich liegt.
Hallo programmerxd3,
es wäre sinnvoll zu wissen um welche Programmiersprache es sich handelt, deiner Frage nach zu urteilen fängst du wohl erst mit dem programmieren an, deshalb denke ich du nutzt C, wenn das soweit stimmt sollte die Lösung von RakonDark dir weiterhelfen, wenn du eine andere Programmiersprache verwendest schreibe bitte einen Kommentar
Mfg
TOminerTV