Stringproblem
Übersicht

![]() |
TritonBetreff: Stringproblem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier ein kleineres Programm, dass Zahlen addieren soll (ja, mir ist bekannt, dass BB das auch so kann ![]() Addiert mal 2 10- oder mehr-stellige Zahlen und achtet auf die Ergebnisse. Die dürften etwa dem entsprechen, was man im Allgemeinen als Falsch betitelt. Was mich vorallem irritiert ist, dass manchmal sogar ein Minus vor dem ergebnis steht. Da das ganze über stringoperationen läuft, wundert es mich doch, wie es dazu kommt. Code: [AUSKLAPPEN] Graphics 800,600,32,2 zahl1$=Input("Zahl1: ") zahl2$=Input("Zahl2: ") Text 10,40,"Zahl1 + Zahl2 = "+addieren(zahl1$,zahl2$) WaitKey ;--- Function addieren(a$,b$) l1=Len(a$) l2=Len(b$) If l1<l2 Then l=l1:l1=l2:l2=l ;stellt sicher, dass l1 und a$ stets die größere Zahl enthält c$=a$:a$=b$:b$=c$ End If If l2<l1 Then c$="" For oft=1 To l1-l2 ;die kürzere der Zahlen (jetzt b$) vorne mit 0en ausfüllen c$=c$+"0" Next b$=c$+b$ End If For pos = 1 To l1-1 Step 1 ;addiert von l nach r stellenweise za1$=Mid(a$,pos+1,1) zb1$=Mid(b$,pos+1,1) aim1=Int(za1$)+Int(zb1$) If aim1 => 10 Then ue=1 If aim1 < 10 Then ue=0 za2$=Mid(a$,pos,1) zb2$=Mid(b$,pos,1) aim2=Int(za2$)+Int(zb2$)+ue aim$=aim$+Right(Str(aim2),1) Next aim$=aim$+Right(Str(aim1),1) Return aim$ End Function vermutlich ein einfacher dummer Fehler, den ich gerade übersehe, aber...ich seh ihn halt nicht oO |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo Triton.
Deine Funktion arbeitet einwandfrei. Nur hast du den Rückgabetyp nit festgelegt, und daher wird dein Ergebnisstring in einen integer gecastet. Und das geht >2 Milliarden eben schief. einfach: function addieren$(zahl1$,zahl2$) und alles wird gut. Solche Fehler sind es die einen zur Verzweiflung treiben können ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich habe auch schon mal eine solche Function erstellt für das berechnen von Möglichkeiten bei den Türmen von Hanoi! deswegen habe ich deine gleich mal getestet, und mir ist aufgefallen das das mit den Überschlägen nicht so richtig hinhaut! Beispiel : 9+1 = 0 Wenn du möchtest kann ich dir meine mal schicken |
||
[BB2D | BB3D | BB+]
|
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
oha, tatsächlich- der Übertrag streikt dann und wann. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
David |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Es funktioniert sobald eine der beiden Zeichenketten mehr als ein Zeichen hat. Die Schleife zählt, im Falle von 1. Zeichen in beiden Ketten, von 1 bis 1-1. 09 + 1 funktioniert. grüße |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
zahl1$="1199112"
zahl2$="3913" hier passt es auch nicht |
||
[BB2D | BB3D | BB+]
|
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
BladeRunner hat Folgendes geschrieben: Jo Triton.
Solche Fehler sind es die einen zur Verzweiflung treiben können ![]() Harrr, wie dumm ![]() Danke ![]() Die anderen Fehler schau ich mir nochmal an. Sind ja kleinere Sachen die sich vernutlich schnell beheben lassen. |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
Sebastian |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mal ne saudämliche Frage :
Wozu muss man denn 20-Stellige Zahlen addieren ?! ![]() |
||
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf ! |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
weil BB es nicht selbst kann, bzw. da dann ungenau wird!
normal für Spiele ja kein Problem aber für gewisse Anwendungen unzureichend! |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group