![]() |
Das hat Pong drei Postings weiter oben geschrieben... :rolleyes:
|
ja solange durch 10 teilen bis 0 raus kommt bei int aber wie mach ich dass dann mit dem gemäß der wertigkeit der potenz übergeben?
|
Zitat:
pong |
so sieht meine funktion aus wollte wissen ob die so hinhaut?
int armstrong (int n) { int zahl; int laenge; laenge = 1; while (zahl > 9) { zahl = zahl / 10; laenge = laenge + 1; } int x; zahl = x; while (x > 0) { x = zahl % 10; zahl = zahl / 10; } |
Probiers halt einfach aus was rauskommt - dann überleg dir (falls es falsch ist) wo der Fehler liegt und verbessere ihn, gib Zwischenergebnisse aus usw... Try&Error.
Wirst ja hoffentlich einen C-Compiler haben um das ganze zu testen :-) lg p.s. so bekommst auf jeden fall einen compiler fehler weil eine klammer fehlt und ein Ergebnis gibt das ganze auch nicht zurück ;) |
Zitat:
btw. ich leg dir ans Herz 1.) zu testen 2.) deinen "Stil" schwer zu überdenken (allein schon wenn ich Deklarationen irgendwo innerhalb der Logik seh, wird mir schlecht) pong |
@druno
mich würde interessieren wie lange du schon Informatikunterricht hast? Ich will dir ja nicht zu nahe treten aber du gehst das Problem komplett falsch an. Du solltest die vorher überlegen wie du das Programm machen willst (dein Problem ist ja wirklich math. trivial) und nachher eventuel das ganze mittels Pseudecode mal aufschreiben. Wenn du das hast, dann kannst mit dem Implementieren anfangen. Mach dir Testausgaben, oder noch besser benutz den Debugger ordentlich. Wenn du dir immer von anderen Stück für Stück Infos holst wird das sicher nichts. Du musst dich halt schon mit der Materie (C) auseinandersetzen. |
Bitte um Hilfe ich versteh die Definition der Armstrong Zahl nicht wirklich. Könntet ihr mich mit einer verständlichen Erklärung aushelfen
lg Peter |
is eine zahl ist, bei der die summe der einzelnen ziffern, die man nun jeweils mit der anzahl der stellen dieser zahl (also zb. für 407=3 stellen) potenziert wird, wiederum gleich der Zahl ist
also etwa: 407=4^3+0^3+7^3=64+0+343=407 |
Aha danke :o , Da hatte ich mit 153 einen Rechenfehler darum bin ich nicht draufgekommen.
lg Peter |
Alle Zeitangaben in WEZ +2. Es ist jetzt 00:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag