Algorithmus für Berechnung einer Quersumme

necoicould

Mitglied
Hallo ich quäle mich seit Stunden schon damit einen Algorithmus in Umgangssprache zu schreiben der schrittweise eine Quersumme einer Zahl berechnet.

Eine Vorlage habe ich im Internet schon gefunden:

solange zahl > 0
quer = quer + Rest bei Diffision von (zahl / 10)
zahl = zahl / 10 (ganzzahlig)

programmiert schaue es laut der website so aus::

main(void) {
int zahl=0, quer=0;
printf("Bitte Zahl eingeben : "); scanf("%d", &zahl);
while (zahl>0) {
quer += zahl % 10;
zahl /= 10;
}
printf("Die Quersumme ist %d\n", quer);
return 0;
}

Aber ich verstehe nicht ganz wie das gehen soll

und zwar habe ich folgendes mal umganssprachlich formuliert:


Setze zahl=0, quersumme=0

SOLANGE
zahl > 0
TUE
quersumme = quersumme + Rest bei Division (Zahl/10)
zahl = zahl / 10
Ergebnis : quersumme

So in etwa steht das dort in der Musterlösung auch

Was ich daraus interpretiere:

Solange "zahl" größer ist als 0 ist wird die variable "quersumme" mit dem Rest der Division von Zahl/10 addiert.

Wenn ich 23 eingeben würde. Wäre das 0 + 3
quersumme wäre nun 3

die variable "zahl" würde nun 23/10= 2,3 sein. 3 ist gespeichert, der algoritmus fängt neu an, da 3 > 0
quersumme = 3 + Rest der Vision von (2,3/10)

ab hier komm ich nicht weiter... irgendwie muss doch in der 2.schleife eine 2 raus kommen oder nicht? und danach muss Zahl kleiner 0 werden, so dass der algorithmus aufhört und man 2+3 hat
 

eRaaaa

Top Contributor
Was ich daraus interpretiere:

Solange "zahl" größer ist als 0 ist wird die variable "quersumme" mit dem Rest der Division von Zahl/10 addiert.

Wenn ich 23 eingeben würde. Wäre das 0 + 3
quersumme wäre nun 3

Nein schon falsch.
1.
23 mod 10 = 3 = quer
23/10 = 2 = zahl
2.
2 mod 10 = 2 = quer + altes quer = 3 + 2 = 5
2/10 = 0 --> Schleife raus
 

Volvagia

Top Contributor
Wo ist das Problem? Die Schleife oben funktioniert tadellos, und hat ja auch exakt den selben Source wie unter Java.
Eine Ausgabe am Schleifenfuß wäre:

Code:
3 - 2
5 - 0

Du bist mit deiner Denkweiße am Ende des Posts durcheinander gekommen, u. A. testest du 23%10 in der While und nicht 23 / 10.
 

necoicould

Mitglied
Hab kein anderes Forum gefunden^^

Habs verstanden. Danke

1.
23 mod 10 = 3 = quer quer ist also 3 <--altes quer
23/10 = 2 = zahl zahl ist also 2

2.
2 mod 10 + altes quer = neues quer = 5 <-- hab diese zeile geändert muss es net so heißen?
2/10 = 0 --> Schleife raus

Jo superrr Dankeee, habs nun kapiert.
 

necoicould

Mitglied
Eine Frage noch mod beschreibt ja den Rest.

Aber bei:

23/10 = 2 = zahl

das ist doch eigentlich 2,3... gibt es ne Form wie er nur die Ganzzahl betrachtet.

hier mal meine Lösung

Setze quer ← 0, zahl ← 0

SOLANGE
zahl > 0 // So lange die zahl größer als Null ist
TUE // Tue folgendes:
quer = quer + 2 mod 10 // Erstelle ein neues "quer", aus:
// (alter) quer + dem Rest der Divison von (zahl/10)
und // Und tue auch folgendes:

zahl = zahl/2 (Ganzzahl) // Erstelle ein neues "zahl", aus:
// (alte) zahl / 2, wobei nur eine Ganzzahl als Ausgabe betrachtet
//wird

quer : Lösung // Das "quer" nach Ende des Algorithmus ist die Lösung
 

eRaaaa

Top Contributor
Der Datentyp ist int, bei Integers gibts keine Nachkommastelle. 2,3 = 2 ; 2,6 = 2 ; 2,9 = 2 ; 2,9999 = 2 usw :D Ansonstne kannste auch floor aus math.h nutzen denke ich ^^
 

Volvagia

Top Contributor
Ich verstehe die Frage nicht.
"gibt es ne Form wie er nur die Ganzzahl betrachtet."
Er verwendet ja ausschließlich Ganzzahlen. Wenn du Gleitkommazahlen verwenden willst, nimm float oder double. Und falls du das nicht wusstest, nutze bitte ein Tutorial oder besorg dir ein (Online-)Buch, weil das sind die elementarsten Grundlagen.
 

necoicould

Mitglied
ah ok, naja das problem ist, wir machen gerade in der uni OPAL, erstes semester....

und sollen halt einen allgemeinen algorithmus mit begriffen wie

FALLS DANN SOLANGE TUE benutzen...

ok das mit INT habe ich verstanden :D

Vielen DAnk
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Best Practice Algorithmus für Berechnung von Zahlenreihenfolge Java Basics - Anfänger-Themen 12
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2
A Datenstruktur für Savings Algorithmus und Planung von kleinen Programmierprojekten Java Basics - Anfänger-Themen 1
J Algorithmus für eine Reihe implementieren Java Basics - Anfänger-Themen 2
D Algorithmus für Punkte auf einem Kreis Java Basics - Anfänger-Themen 0
C Ideen für einen Algorithmus Java Basics - Anfänger-Themen 1
R Rekursionsformel für Laufzeit von Algorithmus Java Basics - Anfänger-Themen 3
E Algorithmus für kart. Produkt: als int [] Feld repräsentiert Java Basics - Anfänger-Themen 10
S Algorithmus für Spielbaum Java Basics - Anfänger-Themen 5
A double and add algorithmus für elliptische kurven/ integer binär darstellen Java Basics - Anfänger-Themen 14
Binary.Coder Welcher Datentyp für den Simplex Algorithmus Java Basics - Anfänger-Themen 3
W Algorithmus für Primzahlberechnung Java Basics - Anfänger-Themen 4
A MiniMax- Algorithmus für 4-Gewinnt Java Basics - Anfänger-Themen 3
K Algorithmus entwickeln Java Basics - Anfänger-Themen 1
laxla123 Eigenschaften eines Algorithmus (determiniert vs.. deterministisch) Java Basics - Anfänger-Themen 2
C Gewinnspiel erstellen mit Algorithmus Java Basics - Anfänger-Themen 3
H Minimax Algorithmus in Tic Tac Toe Java Basics - Anfänger-Themen 3
ohneInformatik; Trockentest Algorithmus, mathematischen Zusammenhang angeben Java Basics - Anfänger-Themen 3
M Minimax-Algorithmus Java Basics - Anfänger-Themen 17
mervanpolat Binary Search Algorithmus ausführen Java Basics - Anfänger-Themen 1
J Rekursiver Algorithmus Java Basics - Anfänger-Themen 9
S Algorithmus entwicklen, der zu einem gegebenen Datum die Jahreszeit ermittelt Java Basics - Anfänger-Themen 13
rosima26 Merge-Algorithmus Java Basics - Anfänger-Themen 53
C Ein Algorithmus soll schneller werden Java Basics - Anfänger-Themen 24
D Dijkstra Algorithmus Hilfe!! Java Basics - Anfänger-Themen 9
U Den Kuchen aufteilen - aber wie? (Rebalancing-Algorithmus) Java Basics - Anfänger-Themen 14
s_1895 Pseudocode Naiver Algorithmus Java Basics - Anfänger-Themen 17
H String verschlüsseln - eigener Algorithmus Java Basics - Anfänger-Themen 104
Düsseldorf2002 Testen meines Algorithmus Java Basics - Anfänger-Themen 1
D Primzahlen Rechner nach Eratostenes von Kyrene Algorithmus Java Basics - Anfänger-Themen 2
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Algorithmus java searchAll IKey Java Basics - Anfänger-Themen 4
S Algorithmus Datensätze einfügen wenn... Java Basics - Anfänger-Themen 26
KogoroMori21 MergeSort Algorithmus Java Basics - Anfänger-Themen 2
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
fendix Compiler-Fehler Algorithmus zur Bestimmung von Primzahlen Java Basics - Anfänger-Themen 7
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
G Algorithmus Graphen Java Basics - Anfänger-Themen 10
D Input/Output fehlerhafter Algorithmus zum Ersetzen von Array-Werten nach logischem Schema Java Basics - Anfänger-Themen 1
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
U Meinung zum Dijkstra Algorithmus Java Basics - Anfänger-Themen 6
U Dijkstra Algorithmus Laufzeit Java Basics - Anfänger-Themen 3
L Math.exp also eigenen Algorithmus Java Basics - Anfänger-Themen 2
Kirby.exe Algorithmus entwickeln Java Basics - Anfänger-Themen 37
M Algorithmus Max-Heap? Java Basics - Anfänger-Themen 3
I Labyrinth auf der Basis eines rekursiven Algorithmus Java Basics - Anfänger-Themen 27
CptK Best Practice Algorithmus nach jedem Schritt zum Visualisieren pausieren Java Basics - Anfänger-Themen 3
A Algorithmus effizienter machen Java Basics - Anfänger-Themen 1
V Algorithmus zur fortlaufenden Berechnung des duechscjnt Java Basics - Anfänger-Themen 1
M Dijkstra Algorithmus in Graphen auf mehrere verschiedene Knoten anwenden lassen Java Basics - Anfänger-Themen 11
O Labyrinth Algorithmus Java Basics - Anfänger-Themen 3
G Quicksort Algorithmus Java Basics - Anfänger-Themen 12
S Binäre-Suche Algorithmus Java Basics - Anfänger-Themen 1
D Algorithmus in Pseudocode mit log2(n) Operationen erstellen Java Basics - Anfänger-Themen 3
C Laufzeit eines Sortier-Algorithmus ermitteln Java Basics - Anfänger-Themen 4
H aufgabe java luhn algorithmus Java Basics - Anfänger-Themen 10
S Dijkstra Algorithmus funktioniert nicht Java Basics - Anfänger-Themen 4
N Denksportaufgabe durch Algorithmus lösen Java Basics - Anfänger-Themen 2
S Problem mit einem rekursivem FloodFill Algorithmus Java Basics - Anfänger-Themen 62
B Algorithmus Square und Multiply Java Basics - Anfänger-Themen 3
J Algorithmus - Strings auf eigene Reihenfolge miteinander vergleichen Java Basics - Anfänger-Themen 4
D Frage Boyer-Moore Algorithmus Java Basics - Anfänger-Themen 7
M Komplexität Algorithmus Java Basics - Anfänger-Themen 8
H Zeichen im algorithmus Java Basics - Anfänger-Themen 4
B Code Verständnisfragen - FLoyd Warshall Algorithmus Java Basics - Anfänger-Themen 1
B Algorithmus zum entmischen einer Zahlenfolge Java Basics - Anfänger-Themen 15
X Minimax-Algorithmus über alle Kanten möglich? - Kanten darstellen Java Basics - Anfänger-Themen 1
T Algorithmus zur Überprüfung eines binären Suchbaums Java Basics - Anfänger-Themen 2
M Simpler Algorithmus läuft extrem langsam. Java Basics - Anfänger-Themen 3
K Erste Schritte Brute Force Algorithmus Java Basics - Anfänger-Themen 2
L Frage zu BubbleSort Algorithmus Java Basics - Anfänger-Themen 2
B gibt es ein Stundenplan-Algorithmus? Java Basics - Anfänger-Themen 11
O Algorithmus-Problem Java Basics - Anfänger-Themen 5
P Euklidischer Algorithmus Java Basics - Anfänger-Themen 9
L Greates Commong Dividend - euklidischer Algorithmus, modulos not positive Java Basics - Anfänger-Themen 5
J Euklidischer Algorithmus Java Basics - Anfänger-Themen 1
S Quicksort Algorithmus Java Basics - Anfänger-Themen 2
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
B Rekursive Algorithmus schreiben Java Basics - Anfänger-Themen 8
V Algorithmus in einer Methode ausführen Java Basics - Anfänger-Themen 3
M Implementierung des Knuth-Morris-Pratt-Algorithmus Java Basics - Anfänger-Themen 0
M Dijkstras Algorithmus Java Basics - Anfänger-Themen 5
S Zusammenhang Datenstruktur/Algorithmus Java Basics - Anfänger-Themen 1
M Simulation - Algorithmus Java Basics - Anfänger-Themen 3
F Erste Schritte Hilfe beim Algorithmus finden Java Basics - Anfänger-Themen 8
D Algorithmus zu gegebener Laufzeit implementieren Java Basics - Anfänger-Themen 1
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
F Best Practice Algorithmus optimieren - Binaeruhr Java Basics - Anfänger-Themen 2
S Euklid Algorithmus zur Berechnung des GGTs Java Basics - Anfänger-Themen 2
L Welcher Algorithmus ist das ? Java Basics - Anfänger-Themen 9
J Rekursiver Horner-Schema-Algorithmus - Verstehe ich ihn richtig? Java Basics - Anfänger-Themen 2
O Java Zufalls-Verteil-Algorithmus Java Basics - Anfänger-Themen 3
P ganz simpler algorithmus Java Basics - Anfänger-Themen 3
C Sortieren ohne Algorithmus Java Basics - Anfänger-Themen 8
J Algorithmus: Grad von floating zu Grad/Minute/Sekunde Java Basics - Anfänger-Themen 3
A Text Verschriebung/Algorithmus(?) Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben