title image


Smiley Integer Zahl Ziffernweise abspeichern
Hi Leutz,

zu allererst, ihr MÜSST nur den kleinsten Teil dieses Textes lesen, der Rest ist nur rein informativ und für euch wahrscheinlich zum lachen ;)

Bin absoluter gequälter Ingenieur der an der Uni nen Programmier Kurs belgen muss.

Also bitte einfach ausführliche antworten wenn ihr mir weiterhelfen könnt, vielen danke schonmal im vorraus.



So jetzt aber zu meiner eigentlichen Frage:



Wir haben eine Aufgabe bekommen in der wir eine Integer Zahl einlesen sollen und die einzelnen Ziffern dieser Zahlen dann als Wort ausgeben sollen,

bsp.: 347 = Drei Vier Sieben.



Verwenden soll ich hier zu einen Switch befehl, dieser ist kein Problem, sondern das Problem ist wie ich denn nun meine Integer Zahl in einzelne Ziffern aufspalte und diese dann am besten jeweils in eine eigene Variable speicher oder etwas ähnliches.



Einen Lösungsweg hab ich schonmal aber ich bin mir zu 100% sicher das es da einen einfacheren Weg gibt, da bei dieser möglichkeit die Zahl auf eine bestimmte Anzahl Ziffern begrenzt sein müsste. Zur Info und das ihr seht das ich nicht ganz faul war stell ich euch meinen Lösungvorschlag hier mal vor.... also sicher keine muss zum lesen!



Lösungsansatz:

Ich gehen von der Zahl 347 aus:

If Schleife ob die Zahl 10 Ziffern hat

-"- 9 Ziffern hat

.

.

.

3 Ziffern hat =true



Weiteres vorgehen:



Weil die Zahl 3 Ziffern hat wird die Zahl durch 100 geteilt und der entstehende Komma Wert 3,47 als float abgespeichert. Jetzt folgt eine Überorüfung ob die nachkommastelle >= *,5 ist wenn das true wäre dann wird - 0,5 gerechnet. In diesem Fall ist der Wert false also gleich der nächste Schritt.

Die Float Zahl wird wieder auf eine Integer geschrieben, der nachkommawert wird abgeschnitten ich habe noch die Ziffer 3, siehe da was ich wollte.



So nun die zweite Ziffer, weil es sich hierbei sozusagen um eine 2 stellige Zahl handelt 347:10 = 34,7

Dann multipliziere ich den erhaltenen Wert von oben (3) mit 10, also 3*10 erhalte 30

diesen subtrahiere ich von der 34,7 erhalte 4,7 überorüfe ob Nachkomma größer als *,5 ist --> true also -0,5 erhalte 4,2 wieder auf Integer, siehe da Wert 4 erhalten



Äquivalentes Vorgehen bei der 1 nur die 347-(3*100+4*10) = 7 der gesuchte Wert



Wie gesagt das kann ich mir nicht vorstellen das ich jedesmal eine solch komplizierte Rechnung für so eine kaggge durchführen muss



Freue mich auf jeden Fall auf eure Antworten,





Vielen Dank schonmal





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: