Wäre es nicht mal wieder an der Zeit...

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Sirius-2337
Beiträge: 71
Registriert: 29.05.2010 20:55

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von Sirius-2337 »

631

Code: Alles auswählen

EnableExplicit
Global a,d,f,j,m,n,h.s,c.s=h,i.s
Macro U
h=Input()
EndMacro
Macro W
EndIf
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If ReadFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
h=i
While h
m+1
h=Mid(i,m,1)
n=FindString("+-<>.,[]",h)
If n
c+h
W
j-n/7*(n*2-15)
Wend
i="Uneven brackets"
If j=0
Dim k(d)
m=@c
While PeekA(m)
n=PeekA(m)-44
i=h
If n<2
k(f)-n
W
If n=0
If h=i
U
W
k(f)=Asc(h)
h=Mid(h,2)
W
If n>46
a=(k(f)XOr n/49)!1*(48-n)
j=a
While j
m+a
j-((PeekA(m)/23)!3-3)/3
Wend
ElseIf n>2
f+n-17
If f<0
i="Memory pointer out of range"
Break
W
d+1
ReDim k(d)
W
If n=2
Print(Chr(k(f)))
W
m+1
Wend
W
Print(i+RSet("Press ENTER to exit",22,#LF$))
U
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von c4s »

622

Code: Alles auswählen

EnableExplicit
Global a,f,j,m,n,h.s,c.s=h,i.s
Macro U
h=Input()
EndMacro
Macro W
EndIf
EndMacro
OpenConsole()
Print("Filename (blank to use std in)...?")
U
If ReadFile(1,h)
Repeat
i+ReadString(1)
Until Eof(1)
Else
U
While h
i+h
U
Wend
W
h=i
While h
m+1
h=Mid(i,m,1)
n=FindString("+-<>.,[]",h)
If n
c+h
W
j-n/7*(n*2-15)
Wend
i="Uneven brackets"
If j=0
Dim k(Len(c))
m=@c
While PeekA(m)
i=h
n=PeekA(m)-44
If n<2
k(f)-n
W
If n=0
If h=""
U
W
k(f)=Asc(h)
h=Mid(h,2)
W
If n>46
a=(k(f)XOr n/49)!1*(48-n)
j=a
While j
m+a
j-((PeekA(m)/23)!3-3)/3
Wend
ElseIf n>2
f+n-17
If f<0
i="Memory pointer out of range"
Break
W
W
If n=2
Print(Chr(k(f)))
W
m+1
Wend
W
Print(i+RSet("Press ENTER to exit",22,#LF$))
U
Edit: Fehler behoben?! http://www.purebasic.fr/german/viewtopi ... 58#p301358
Zuletzt geändert von c4s am 19.04.2012 12:44, insgesamt 2-mal geändert.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
7x7
Beiträge: 591
Registriert: 14.08.2007 15:41
Computerausstattung: ganz toll
Wohnort: Lelbach

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von 7x7 »

c4s hat geschrieben:

Code: Alles auswählen

Dim k(Len(c))
:(

Das kannst du knicken, c4s! Da gibt es nämlich noch die Zeilen 46-51 ! :mrgreen:

Code: Alles auswählen

If h=i
U
W
k(f)=Asc(h)
h=Mid(h,2)
W
Aktuell ist also immer noch Sirius mit 631
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von c4s »

@7x7
Trotzdem wird doch kein größeres Array benötigt?! Bitte erklären. :o
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
7x7
Beiträge: 591
Registriert: 14.08.2007 15:41
Computerausstattung: ganz toll
Wohnort: Lelbach

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von 7x7 »

c4s hat geschrieben:@7x7
Trotzdem wird doch kein größeres Array benötigt?! Bitte erklären. :o
Eigentlich...hast Recht! :mrgreen:

Hatte nämlich in einer früheren Phase auch schon mal diesen Gedanken, aber wieder verworfen aus o.g.Gründen. Hatte
aber nicht überrissen, dass der Brainfuck-Code davon gar nicht tangiert wird.

Also, wenn sonst niemand Einwände hat, passt's :D
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von c4s »

Edit:
Code entfernt, da nicht gültig (siehe 7x7).
Zuletzt geändert von c4s am 19.04.2012 12:35, insgesamt 1-mal geändert.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
7x7
Beiträge: 591
Registriert: 14.08.2007 15:41
Computerausstattung: ganz toll
Wohnort: Lelbach

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von 7x7 »

:cry: Ich habe es befürchtet !!! Es ist eingetreten!

Dieses "i=h" in ehemals Zeile 40 ist ein BUG!! Weil es das ehemals "45 If h=i" ad absurdum führte. Es müsste eigentlich
lauten: "45 If h="": Hat nur keiner drauf geachtet, weil keiner ein "," im BF-Code setzt.

"i=h" gehört vor "38 While PeekA(m)" und natürlich die Abfrage "If h=i" wieder eingesetzt werden um die ordentliche Funktion zu gewährleisten.

Sorry c4s, dein code funktioniert so nicht!!
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
Benutzeravatar
helpy
Beiträge: 636
Registriert: 29.08.2004 13:29

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von helpy »

STARGÅTE hat geschrieben:Ich stimme helpy zu.
Die letzte änderung ist auf jedenfall nicht gültig, da sie die Funktion des Programm eindeutig geändert hat.
Ich meinte nicht nur diese Änderung!
Schon viel früher (ab dem Beitrag http://purebasic.fr/german/viewtopic.ph ... 24#p301224) wurde bereits die Fehlerabfrage von OpenConsole() gekürzt!

Wenn schon solch ein Contest, dann sollte auch die komplette Funktionalität des Ausgangscodes erhalten bleiben ... auch alle Ausgaben und Fehlerabfragen!

Nur so kann z.B. ein Neueinsteiger den Original-Code nehmen, von Null beginnen und einen Beitrag zum Contest beitragen.
Aber so ist ein fairer Vergleich erst gar nicht möglich!

lg,
guido
Windows 10
PB Last Final / (Sometimes testing Beta versions)
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von ts-soft »

Muss nächstes mal alles genauer festgelegt werden. Hier ist es sowieso schon zu spät, selbst der Ausgangscode entspricht
nicht den Vorgaben, was die Richtigkeit ja sowieso addabsordum führt.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: Wäre es nicht mal wieder an der Zeit...

Beitrag von c4s »

@7x7
OK, ich hab den Code wieder entfernt. Hatte mich schon gefragt warum dort steht:

Code: Alles auswählen

i=h
if h=i
<)


Dann ist http://www.purebasic.fr/german/viewtopi ... 53#p301353 aktuell? Oder kann man sowieso alles in die Tonne treten? :(
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Antworten