Römische Ziffern

Übersicht BlitzBasic Codearchiv

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

5k41

Betreff: Römische Ziffern

BeitragMi, Nov 15, 2006 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Hier mal ne kleine Spielerei, über die ich heute in der Schule nachgedacht hab... wenns nicht gut genug für Codearchiv ist, einfach trashen, aber vielleicht hilfts ja wem.

main.bb

Code: [AUSKLAPPEN]
Local hidden = Int(Input("Arabische Zahl anzeigen ( 0 = ja, 1 = nein ):"))
hidden = hidden Mod 2
.start
Graphics 600,14+((1-hidden)*28),32,2
SetBuffer BackBuffer()

AppTitle "Rome Numbers"
Include "Romenumbers2.bb"
Initpresets()
Local update = 1
Local number = Int(Input("Zahl:"))

Cls
Delay 200
FlushKeys()

While Not KeyDown(1)

   If update = 1
      Cls
      Locate 0,0
      strg$   = RomeNumbers(number)
      number2 = NormalNumber(strg$)
      update = 0
   EndIf

   If KeyDown(200) Then number = number +1:Delay 200:update = 1
   If KeyDown(208) Then number = number -1:Delay 200:update = 1
   If KeyDown(28 ) Then Goto start
   
   If Not hidden
      Text      0,0,number
      Text      0,28,number2
   EndIf
   
   DrawRoman 0,(1-hidden)*14,strg$
   
   Flip
   Cls
   
Wend
End


romenumbers.bb

Code: [AUSKLAPPEN]

Global arraysize = 6
Dim Presets$(arraysize,1)


Function Initpresets()
   
   Presets$(0,0) = "1"    : Presets$(0,1) = "I"
   Presets$(1,0) = "5"    : Presets$(1,1) = "V"
   Presets$(2,0) = "10"   : Presets$(2,1) = "X"
   Presets$(3,0) = "50"   : Presets$(3,1) = "L"
   Presets$(4,0) = "100"  : Presets$(4,1) = "C"
   Presets$(5,0) = "500"  : Presets$(5,1) = "D"
   Presets$(6,0) = "1000" : Presets$(6,1) = "M"
   
End Function

Function DrawRoman(x,y,strg$)
   
   If strg$ = "" Then Return 0
   
   Local width = StringWidth(strg$)
   
   Rect x,y,width+2,1
   Text x+1,y,strg$
   Rect x,y+FontHeight()-1,width+2,1
   
   Return 0
   
End Function

Function RomeNumbers$(number,strg$="")

   If number <= 0 Then Return strg$
   
   Local temp
   Local temp2
   
   If number > Int(Presets(arraysize,0)) Then Return RomeNumbers$(number - Int(Presets(arraysize,0)),strg$ + Presets(arraysize,1))
   
   For x = 0 To arraysize
      
      If number = Int(Presets(x,0)) Then Return strg$ + Presets(x,1)
      
      For y = x+1 To 1 Step -1
         
         If number < Int(Presets(x+1,0)) Then
            
            temp2 = Int(Left(Presets(x+1,0),1))
            
            If temp2 = 1 Then
               temp2 = Int(Presets(x+1,0)) / 10
            Else   
               temp2 = Int(Presets(x+1,0)) / temp2   
            EndIf
               
            temp  = Int(Presets(x+1,0)) - Int(Presets(x+1-y,0))
            
            If Int(Presets(x+1,0)) - temp <= temp2 Then
            
               If number - temp => 0 And number - temp < temp2 Then
                  
                  Return RomeNumbers$(number - temp, strg$ + Presets(x+1-y,1) + Presets(x+1,1) )   
                  
               EndIf
            EndIf
            
         EndIf
         
      Next
      
      If number > Int(Presets(x,0)) Then
         If number < Int(Presets(x+1,0)) Then
            
            Return RomeNumbers$(number - Int(Presets(x,0)),strg$ + Presets(x,1))
            
         EndIf
      EndIf
   
   Next
   
   
   Return strg$
   
End Function

Function NormalNumber(roman$,number=0)
   
   If roman$ = "" Then Return number
   
   Local strg$
   
   strg$  = Left(roman$,1)
   strg2$ = Mid(roman$,2,1)
   
   For x = 0 To arraysize
      
      If Presets(x,1) = strg$
         
         If strg2$ <> "" Then
            
            For y = 0 To arraysize
               
               If Presets(y,1) = strg2$ Then
                  If Int(Presets(y,0)) > Int(Presets(x,0)) Then Return NormalNumber(Right(roman$,Len(roman$)-2),number + Int(Presets(y,0)) - Int(Presets(x,0)) )
               EndIf
               
            Next
            
         EndIf
         
         Return NormalNumber(Right(roman$,Len(roman$)-1), number + Int(Presets(x,0)) )
         
      EndIf
      
   Next
   
   Return number
   
End Function


glaube eine Erklärung kann ich mir sparen.

MfG

~Edit~
Hab grad mal die mir unbekannten Zahlen eingebaut Wink mach mich nun an das logische zusammenstückeln der Zahlen von 1 bis 9 ( auch wenns langsamer ist, ists interessant wie ich finde )
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
  • Zuletzt bearbeitet von 5k41 am Do, Nov 30, 2006 15:25, insgesamt 7-mal bearbeitet
 

FBI-blitz

BeitragMi, Nov 15, 2006 15:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Schade dass er nur die römischen Zahlen bis zehn hat, aber ich denke dass kann jeder selbst sehtr schnell ändern
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

Blitzcoder

Newsposter

BeitragMi, Nov 15, 2006 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Interessant wäre doch einmal eine Funktion, die alle römischen Zahlen selber zusammenbastelt. Also, wenn man z.B. 6 gibt, dass sie dann "V" und "I" zusammensetzt, statt es einfach aus einer Liste zu holen.
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

5k41

BeitragMi, Nov 15, 2006 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
es werden doch alle berechnet! ( oder hab ich selbst das prinzip noch nicht verstanden Confused )
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Blitzcoder

Newsposter

BeitragMi, Nov 15, 2006 15:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich meine, wenn ich z.B. bei deiner Funktion 1984 eigebe, spuckt sie zig Xe hintereinader. Da fehlen C,L,M etc. und da müsste er dann klären, wann z.B. noch drei "I" hinkommen, und wann schon Die nächstgrösse Zahl als neuer Buchstabe kommt. Bei dir sind die Buchstaben bis 10 ja quasi "vorberechnet".

MfG Blitzcoder
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)

5k41

BeitragMi, Nov 15, 2006 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, von C, L und M wusste ich auch noch nichts Embarassed ( habs grad bei Wikipedia nachgelesen ). Werd das bei gelegenheit noch einbaun. Das ohne lookup table fand ich zwar auch interessant, ist aber zu 100 % langsamer... naja vielleicht mach ich ja beides zu "lernzwecken". naja, ich muss nun erstmal weg.

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

SpionAtom

BeitragMi, Nov 15, 2006 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist gar nicht so schwer. Funktioniert nach dem Münzproblem (Einen Betrag in möglichst wenig Münzen ausgeben^^). Die verkürzte Schreibweise liefere ich nach.

Code: [AUSKLAPPEN]
   Cls   
   Print roemisch$(1984)
   WaitKey()
   End
                        
            
Function roemisch$(wert)

   If wert < 1 Then Return " "

   ausgabe$ = ""
   While wert > 0
    If wert >= 1000 Then
      ausgabe$ = ausgabe$ + "M"
      wert = wert - 1000
      ElseIf wert >= 500 Then
         ausgabe$ = ausgabe$ + "D"
         wert = wert - 500
         ElseIf wert >= 100 Then
            ausgabe$ = ausgabe$ + "C"
            wert = wert - 100
            ElseIf wert >= 50 Then
               ausgabe$ = ausgabe$ + "L"
               wert = wert - 50
               ElseIf wert >= 10   Then
                  ausgabe$ = ausgabe$ + "X"
                  wert = wert - 10
                  ElseIf wert >= 5 Then
                     ausgabe$ = ausgabe$ + "V"
                     wert = wert - 5
                     Else
                        ausgabe$ = ausgabe$ + "I"
                        wert = wert - 1
    EndIf
   Wend   
   Return ausgabe$
   
End Function
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

BladeRunner

Moderator

BeitragMi, Nov 15, 2006 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Das erzeugt fehlerhafte Ausgaben, da es nicht Die Wertstellung berücksichtigt (Beispiel 4 bei Dir: IIII, richtig wäre IV)
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

SpionAtom

BeitragMi, Nov 15, 2006 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner hat Folgendes geschrieben:
Das erzeugt fehlerhafte Ausgaben, da es nicht Die Wertstellung berücksichtigt (Beispiel 4 bei Dir: IIII, richtig wäre IV)

Laut Wiki aber dennoch richtig, das andere ist dann die gängige Abkürzende Schreibweise. Aber es gibt auch nicht so eindeutige Abkürzungen, deswegen weiß ich noch nicht, wie ich das machen soll.
Aber dieses 4 gleiche Ziffern hintereinander werde ich mal eben fixen (sieht ja genauso scheiße aus wie Schifffahrt mit 3 f).
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

StepTiger

BeitragMi, Nov 15, 2006 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
richtig stehen müsste da: MDCDLXXXIV
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

Black Spider

BeitragMi, Nov 15, 2006 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
heult nicht rum,
das Problem war sehr einfach zu beheben;
eine Zeile reichte.
(hier jetzt eine Mischung aus beiden Codes):

Code: [AUSKLAPPEN]
While Not KeyDown(1)
   Locate 0,0
   Print number
   Print RomeNumbers(number)
   If KeyDown(200) Then number = number +1:Delay 200:Cls
   If KeyDown(208) Then number = number -1:Delay 200:Cls
Wend

Function RomeNumbers$(wert%)
   
   If wert < 1 Then Return "-"

   ausgabe$ = ""
   While wert > 0
    If wert >= 1000 Then
      ausgabe$ = ausgabe$ + "M"
      wert = wert - 1000
      ElseIf wert >= 500 Then
         ausgabe$ = ausgabe$ + "D"
         wert = wert - 500
         ElseIf wert >= 100 Then
            ausgabe$ = ausgabe$ + "C"
            wert = wert - 100
            ElseIf wert >= 50 Then
               ausgabe$ = ausgabe$ + "L"
               wert = wert - 50
               ElseIf wert >= 10   Then
                  ausgabe$ = ausgabe$ + "X"
                  wert = wert - 10
                  ElseIf wert >= 5 Then
                     ausgabe$ = ausgabe$ + "V"
                     wert = wert - 5
                ElseIf wert >= 4 Then
                ausgabe$ = ausgabe$ + "IV"
                wert = wert-4
                     Else
                        ausgabe$ = ausgabe$ + "I"
                        wert = wert - 1
   EndIf
   Wend   
   Return ausgabe$
   
End Function   
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Mr.Keks

BeitragMi, Nov 15, 2006 21:45
Antworten mit Zitat
Benutzer-Profile anzeigen
wie du auf http://de.wikipedia.org/wiki/R...tionsregel nachlesen kannst, geht die subtraktionsregel anders: sie gilt nicht nur bei IV, sondern auch bei allen anderen ziffern.

soll heißen: man muss zuerst spion-atoms code laufen lassen und dann nochmal den ganzen string durchgehen, ob da vier gleiche zeichen aufeinander folgen, die nicht die höchste ziffern sind. ist dies der fall, so kommt die subtraktionsregel zum tragen. (also drei zeichen entfernen und einmal das nächsthöhere zeichen einfügen.)
MrKeks.net
 

$tankY

BeitragMi, Nov 15, 2006 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch ne Möglichkeit wäre, zuerst beim kleinsten (I) anzufangen, dann zum nächsten usw:
Code: [AUSKLAPPEN]

Function RomanNumbers$(Number%)

   Local RNumber$ = ""
   For i = 1 To Number
      RNumber$ = RNumber$ + "I"
   Next

   While Instr(RNumber$, "IIIII")
      RNumber$ = Replace$(RNumber$, "IIIII", "V")
   Wend

   While Instr(RNumber$, "VV")
      RNumber$ = Replace$(RNumber$, "VV", "X")
   Wend

   While Instr(RNumber$, "XXXXX")
      RNumber$ = Replace$(RNumber$, "XXXXX", "L")
   Wend

   While Instr(RNumber$, "LL")
      RNumber$ = Replace$(RNumber$, "LL", "C")
   Wend

   While Instr(RNumber$, "CCCCC")
      RNumber$ = Replace$(RNumber$, "CCCCC", "D")
   Wend

   While Instr(RNumber$, "DD")
      RNumber$ = Replace$(RNumber$, "DD", "M")
   Wend

   If Instr(RNumber$, "VIIII") Then               ;9 -> IX
      RNumber$ = Replace(RNumber$, "VIIII", "IX")
   EndIf

   If Instr(RNumber$, "IIII") Then                  ;4 -> IV
      RNumber$ = Replace(RNumber$, "IIII", "IV")
   EndIf

   If Instr(RNumber$, "LXXXX") Then               ;90 -> XC
      RNumber$ = Replace(RNumber$, "LXXXX", "XC")
   EndIf

   If Instr(RNumber$, "XXXX") Then                  ;40 -> XL
      RNumber$ = Replace(RNumber$, "XXXX", "XL")
   EndIf

   If Instr(RNumber$, "CCCC") Then                  ;400 -> CD
      RNumber$ = Replace(RNumber$, "CCCC", "CD")
   EndIf

   If Instr(RNumber$, "DCD") Then                  ;900 -> CM
      RNumber$ = Replace(RNumber$, "DCD", "CM")
   EndIf

   Return RNumber$

End Function

Ist wahrscheinlich langsamer, aber das bemerkt man kaum.
PS: Wahrscheinlich fehlen ein paar Ausnahmen, aber für 1984 hats gereicht ^^.
Edit: Bei größeren Zahlen is es net so Sinnvoll, deshalb doch lieber wie oben beschrieben die Zahlen subtrahieren und nicht in "I" umwandeln.

SpionAtom

BeitragDo, Nov 16, 2006 0:32
Antworten mit Zitat
Benutzer-Profile anzeigen
So Kinnings, hier die komplette Function. Lediglich 4 Zeilen haben gefehlt. Falls noch irgendwelche Fehler auftreten, lasst es mich wissen!

Code: [AUSKLAPPEN]
   Cls   
   Print roemisch$(1984)
   WaitKey()
   End
                        
            
Function roemisch$(wert)

   If wert < 1 Then Return " "

   ausgabe$ = ""
   While wert > 0
    If wert >= 1000 Then
      ausgabe$ = ausgabe$ + "M"
      wert = wert - 1000
      ElseIf wert >= 500 Then
         ausgabe$ = ausgabe$ + "D"
         wert = wert - 500
         ElseIf wert >= 100 Then
            ausgabe$ = ausgabe$ + "C"
            wert = wert - 100
            ElseIf wert >= 50 Then
               ausgabe$ = ausgabe$ + "L"
               wert = wert - 50
               ElseIf wert >= 10   Then
                  ausgabe$ = ausgabe$ + "X"
                  wert = wert - 10
                  ElseIf wert >= 5 Then
                     ausgabe$ = ausgabe$ + "V"
                     wert = wert - 5
                     Else
                        ausgabe$ = ausgabe$ + "I"
                        wert = wert - 1
    EndIf
   Wend
   
   ;Viererketten ausmerzen...
         ausgabe$ = Replace$(ausgabe$, "VIIII", "IX")
   ausgabe$ = Replace$(ausgabe$, "IIII", "IV")
   ausgabe$ = Replace$(ausgabe$, "LXXXX", "XC")
   ausgabe$ = Replace$(ausgabe$, "XXXX", "XL")
   ausgabe$ = Replace$(ausgabe$, "DCCCC", "CM")
   ausgabe$ = Replace$(ausgabe$, "CCCC", "CM")
   
   Return ausgabe$
   
End Function
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
  • Zuletzt bearbeitet von SpionAtom am Do, Nov 16, 2006 12:10, insgesamt einmal bearbeitet

TheMatrix

BeitragDo, Nov 16, 2006 1:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Nett, aber noch nicht perfekt Wink

Wenn ich Beispielsweise ein 9 eingebe, dann wirft deine Funktion VIV zurück. Ich glaube, dass stimmt noch nicht so ganz. Very Happy

mfg TheMatrix
°_° °.° °~° °v° .. -.-

SpionAtom

BeitragDo, Nov 16, 2006 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
TheMatrix hat Folgendes geschrieben:
Nett, aber noch nicht perfekt Wink

Wenn ich Beispielsweise ein 9 eingebe, dann wirft deine Funktion VIV zurück. Ich glaube, dass stimmt noch nicht so ganz. Very Happy

mfg TheMatrix


Da hab ich doch glatt eine Zeile vergessen, habs Editiert...
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

5k41

BeitragDo, Nov 16, 2006 13:32
Antworten mit Zitat
Benutzer-Profile anzeigen
mh, also wenn würd ich das dann ganz oder garnicht machen ( entweder nur lookup oder nur selbstständig ) Wink naja ich schreib gleich nochmal meine Funktion weiter!

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

5k41

BeitragDo, Nov 16, 2006 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
sorry wegen Doppelpost, ist aber was neues und gehört nicht zum oberen.
Hier mal meine Version, in der er sich die Zahl Komplett selbst zusammen baut:
Code: [AUSKLAPPEN]

;Local number = 1984
Dim Presets$(6,1)
Initpresets()
While Not KeyDown(1)
   Locate 0,0
   Print number
   Print RomeNumbers(number)
   If KeyDown(200) Then number = number +1:Delay 200:Cls
   If KeyDown(208) Then number = number -1:Delay 200:Cls
Wend

Function Initpresets()
   
   Presets$(0,0) = "1"    : Presets$(0,1) = "I"
   Presets$(1,0) = "5"    : Presets$(1,1) = "V"
   Presets$(2,0) = "10"   : Presets$(2,1) = "X"
   Presets$(3,0) = "50"   : Presets$(3,1) = "L"
   Presets$(4,0) = "100"  : Presets$(4,1) = "C"
   Presets$(5,0) = "500"  : Presets$(5,1) = "D"
   Presets$(6,0) = "1000" : Presets$(6,1) = "M"
   
End Function

Function RomeNumbers$(number)
   
   If number <= 0 Then Return
   
   Local strg$
   Local thousand
   Local fivehundred
   Local hundred
   Local fifty
   Local ten
   Local lst
   If number => 10 Then
      
      If number => Int(Presets$(6,0)) Then
         thousand = Floor ( Float(number) / Float(Presets$(6,0)) )
         For x = 1 To thousand
            strg$ = strg$ + Presets$(6,1)
         Next
      EndIf
      
      If number => Int(Presets$(5,0)) Then
         fivehundred = Floor ( Float(number - thousand * Int(Presets$(6,0)) ) / Float(Presets$(5,0)) )
         For x = 1 To fivehundred
            strg$ = strg$ + Presets$(5,1)
         Next
      EndIf
      
      If number => Int(Presets$(4,0)) Then
         hundred = Floor ( Float(number - thousand * Int(Presets$(6,0)) - fivehundred * Int(Presets$(5,0))) / Float (Presets$(4,0)) )
         For x = 1 To hundred
            strg$ = strg$ + Presets$(4,1)
         Next
      EndIf
      
      If number => Int(Presets$(3,0)) Then
         fifty = Floor ( Float(number - thousand * Int(Presets$(6,0)) - fivehundred * Int(Presets$(5,0)) - hundred * Int(Presets$(4,0))) / Float (Presets$(3,0)) )
         For x = 1 To fifty
            strg$ = strg$ + Presets$(3,1)
         Next
      EndIf
      
      ten = Floor ( Float(number - thousand * Int(Presets$(6,0)) - fivehundred * Int(Presets$(5,0)) - hundred * Int(Presets$(4,0)) - fifty * Int(Presets$(3,0))) / Float (Presets$(2,0)) )
      
      For x = 1 To ten
         strg$ = strg$ + Presets$(2,1)
      Next
         
   EndIf
   
   strg = strg + LastNumber$( number - thousand * Int(Presets$(6,0)) - fivehundred * Int(Presets$(5,0)) - hundred * Int(Presets$(4,0)) - fifty * Int(Presets$(3,0)) - ten * Int(Presets$(2,0)) )
   
   Return strg$
   
End Function

Function LastNumber$(number)
   
   If number <= 0 Then Return
   
   Local strg$
   
   For i = 0 To 5
      
      If Int(Presets$(i,0)) <= number Then
         If Int(Presets$(i+1,0)) > number Then
            If Int(Presets$(i+1,0))-1 = number Then Return Presets$(0,1) + Presets$(i+1,1)
            strg$=strg$+Presets$(i,1)
            For x = 1 To ( number - Int(Presets$(i,0)) )
               strg$ = strg$ + Presets$(0,1)
            Next
            Return strg$
         EndIf
      EndIf
      
   Next
   
End Function


MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

snörkl

BeitragDo, Nov 16, 2006 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
find ich schon sehr gut. Weiß jetzt nicht, ob das stimmt, aber ist nicht sowas wie 47 IIIL ?

mfg

Snörkl
 

$tankY

BeitragDo, Nov 16, 2006 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
47 = 40 + 7 = XLVII soweit ich weiss, ich glaub man kann nicht alle möglichen Zahlen subtrahieren, wenn doch, dann wäre es natürlich IIIL

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group