Int Variable rückwärts ausgeben (C#)?

3 Antworten

Ich kann dir nicht sagen ob es dafür in der Mathematik Bibliothek eine Methode gibt, aber mit dem Modulo Operator der dir den Rest beim teilen mit einer Zahl berechnet geht das Recht einfach.

Erst die Zahl Modulo 10, dann bekommst du 4, dann teilst du die Zahl durch 10 und machst das gleiche wieder, konvertiert es aber in ein int, sodass der Teil hinter dem Komma abgeschnitten wird. Sieht dann so aus.

1234 % 10 = 4, 1234/ 10 = 123,4 -> wird in einem int zu 123.

123 % 10 = 3, 123 / 10 = 12,3 -> wird in einem int zu 12.

12 % 10 = 2, 12/10 = 1,2 wird in int zu 1, und

1 % 10 = 10, 1/10 = 0.1 wird zu 0, und hier wurde der Algorithmus abbrechen.

Das ist jetzt die Art und Weise ich das machen würde, du musst dir halt noch einen kleinen Algorithmus dafür schreiben, sollte aber Recht einfach sein, das Schema ist ja super simpel.

erst durch 1000 teilen, Ganzzahlwert merken, dann wieder mit 1000 multiplizieren und vom Original abziehen, dann das Ganze mit 100 und 10 wiederholen und am Ende die einzelnen Stellenwerte in umgekehrter Reichenfolge ausgeben.


Valentin1720653  16.12.2022, 23:45

Stimmt, das geht auch und ist einfacher 😂 ich hab hier mit dem Modulo Operator rumgeeiert und es viel komizierter gemacht als es sein müsste

0
Tastaturbrix  16.12.2022, 23:49

Er möchte nur die Zahl rückwärts ausgeben,
Das sollte zu viel des gutem sein ^^

0
Von Experte Erzesel bestätigt
void VariableRückwärtsMethodeBliiBlaBlub(int number)
{
    string valueAsString = number.ToString();
    for (int i = valueAsString.Length - 1; i >= 0; i--)
    {
        Console.Write(valueAsString[i]);
    }
}

Alternativ kannst du auch es mit einem CharArray erledigen:

var valueArray = value.ToCharArray();
Array.Reverse(valueArray);

In diesem beispiel sollte value vom typ string sein.
Bei einem Int musst du also ToString() aufrufen.


HansWurst45  17.12.2022, 00:11

Diese Lösung funktioniert nur, wenn die Lib in der die String Operationen lokalisiert sind eingebunden wird. das brauch ggf. unnötig Speicher und Rechenleistung. Das geht nur gut, wenn man in kauf nimmt, dass ein solches Miniprogramm binarys vom mehreren Megabyte benötigen und Rechenzeit kein Rolle spielt. Wenn du auf einem Embedded arbeitest, der vielleicht nur 16k ROM hat bist du mit solchen Strukturen schnell am Ende.

0
Tastaturbrix  17.12.2022, 00:20
@HansWurst45

Er will eine Lösung in C#
Da ist alles drinnen was ich zeige.

Abgesehen davon ist hier nie die rede von Embedded oder 16k oder sonst was.
Das soll wahrscheinlich nur eine Schulaufgabe sein die er lösen soll.

Wenn er auf ein Embedded oder ähnliches arbeitet sollte er erstmal eine Ordentliche Programmiersprache wählen die dem System angepasst ist.

2