Werte ermitteln

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

felix-pf

Betreff: Werte ermitteln

BeitragDi, Dez 20, 2005 18:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @all,
ich hätte ein Problem:
Ich brauch ein Programm das aus einem String z.B.:
"00111001" die Werte 3 und 1 zurückliefert oder z.B. aus
"10111100111" die Werte 1 und 4 und 3.Ich weiss nicht
wie ich es besser erklären soll, und hab keine Ahnung
wie ich es angehen soll.Wer's kapiert hat,
bitte bitte helft mir!!

felix-pf
User posted image
 

Kaplan

BeitragDi, Dez 20, 2005 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst, die Zahlen in normale Zahlen umwandeln? Also die binären Zahlen dort in Zahlen umwandeln, die für den Normalo verständlich sind?(kA wie det hieß).
"Jedes Ereigniss hinterlässt eine Narbe in der Seele des Beteiligten. Manche sind größer als andere, manche aber teilen deine Seele in Zwei."


User posted image
User posted image

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Dez 20, 2005 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Kapiert habe ich es nicht, da es da verschiedene Möglichkeiten gibt!
Was soll es den bewirken!

Ist der String normal nur eine Binärzahl, oder ist es etwa ein Stück von einer Tilemap?
[BB2D | BB3D | BB+]

Hip Teen

BeitragDi, Dez 20, 2005 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Erklärung: Er will, dass das Programm angibt, wie viele 1er am Stück in dem String vorkommen
Lösung: du gehst den String Zeichen für Zeichen durch. Wenn es eine 1 ist, wird eine Zählvariable um eins erhöht. Ist es dagegen eine Null, gibst du die Zahl aus (oder stellst andere Sachen damit an, je nach belieben) und setzt die Zählvariable auf Null.

Thats it.
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

felix-pf

BeitragDi, Dez 20, 2005 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
@Hip Teen
Genau das habe ich gemeint!
So könnte man es probieren.

Thx

felix-pf
User posted image

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Dez 20, 2005 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn nur 1 und 0 vorkommt dann gehts noch schneller!

Mit replace alle Nullen löschen.
mit len kommt das Ergebnis!
[BB2D | BB3D | BB+]
 

E. Urbach

ehemals "Basicprogger"

BeitragDi, Dez 20, 2005 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
(on the fly)

BlitzBasic: [AUSKLAPPEN]

Function GetNum(num$,xte)
onOne=0
For I=1 To Len(num$)
a$=Mid(num$,I,1)
If a$=\"1\" Then
onOne = 1
EndIf
If onOne=1 Then xOnes = xOnes + 1
If a$<>\"1\" And onOne=1 Then
count = count + 1
If xte=count Then Return xOnes-1
onOne=0
xOnes=0
EndIf ;=0
Next
Return 0
End Function


BlitzBasic: [AUSKLAPPEN]

H=1
Repeat
getOne=GetNum(\"10011011110\",H)
Print getOne
H=H+1
Until getOne=0


Könnte das bitte jemand kurz testen?
Bin grad unter Linux...
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
  • Zuletzt bearbeitet von E. Urbach am Di, Dez 20, 2005 20:20, insgesamt einmal bearbeitet

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Dez 20, 2005 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Getestet
2
3
5
0
demnach nicht ganz richtig!
[BB2D | BB3D | BB+]
 

E. Urbach

ehemals "Basicprogger"

BeitragDi, Dez 20, 2005 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Habs jetzt korrigiert!
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik

Hip Teen

BeitragDi, Dez 20, 2005 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Rallimen, ich glaub das ist nicht wirklich was er will, denn nach deiner Methode zählt er ja nicht wie viele jeweils am Stück drankommen, sondern wie viele insgesammt drinne sind.
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"
 

E. Urbach

ehemals "Basicprogger"

BeitragDi, Dez 20, 2005 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
ich heiße Basicprogger, falls du mich meinst
(Edit: oh, es war wohl doch Rallimen gemeint ^^)

GetNum("101110111",x) findet bei der x ten 1-er Reihe heraus, wie viele 1en da sind.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
  • Zuletzt bearbeitet von E. Urbach am Di, Dez 20, 2005 20:43, insgesamt 3-mal bearbeitet

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Dez 20, 2005 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Basicprogger: Ich war gemeint!

Hip Teen: ist klar, habs gesehen Embarassed

Hier noch eine Version mit Type!
BlitzBasic: [AUSKLAPPEN]
Type E Field Anz End Type
;

Function GetNum (num$)

For i = 1 To Len (Num$)
If Mid (num$,i,1) = 1 Then ;wenn eine 1
Einer = Einer + 1
Else ;wenn 0
If einer Then ;wenn Einer vorhanden
X.E = New E
X\Anz = Einer ; speichern
Einer = 0
End If
End If
Next

If einer Then ; ween noch zahlen da sind
X.E = New E
X\Anz = Einer
End If
End Function

;
GetNum (\"10011011110\")

For x.E = Each E
Print x\anz
Next

WaitKey
[BB2D | BB3D | BB+]

felix-pf

BeitragMi, Dez 21, 2005 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für eure Bemühungen, aber von Types versteh ich leider überhaupt nichts Embarassed .Sorry.
Ich bräuchte die Daten von der Zeile in einer Variable.
User posted image
 

Florian

BeitragMi, Dez 21, 2005 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Types Erklärung

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMi, Dez 21, 2005 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Ich bräuchte die Daten von der Zeile in einer Variable.


In welcher Form soll das den in einer Var zurückgegeben werden?
[BB2D | BB3D | BB+]

felix-pf

BeitragMi, Dez 21, 2005 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habs inzwischen mit nem dim feld hinbekommen.
Trotzdem thx
User posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group