Das sagst Du ja nur, weil Du dann wahrscheinlich gewonnen hastrolaf hat geschrieben:Einfach den "Rüssel" auf den Tisch legen, wer den kürzesten hat, hat gewonnen.![]()
Wäre es nicht mal wieder an der Zeit...
- 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...
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.

						Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Wäre es nicht mal wieder an der Zeit...
ts-soft hat geschrieben:Das sagst Du ja nur, weil Du dann wahrscheinlich gewonnen hast
:::: WIN 10 :: PB 5.73 :: (x64) ::::
						- 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...
Wenn bis 20:42 kein kürzerer Beitrag kommt, habe ich wohl gewonnen  
			
			
									
									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.

						Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Wäre es nicht mal wieder an der Zeit...
Code: Alles auswählen
EnableExplicit
Global b,i,m=1000,C$="+-<>.,[]",p,f.s,l.s,s.s,c.s,o.s,w.s
Macro T
Procedure
EndMacro
Macro E
EndProcedure
EndMacro
Macro X
Case
EndMacro
Macro Y
EndIf
EndMacro
T U()
Print(#CRLF$+#CRLF$+"Press ENTER to exit")
Input()
CloseConsole()
End
E
T Z(m$)
PrintN(m$)
U()
E
Macro a(d=1)
b=d
Repeat
i+d
If Mid(o,i)="]"
b-1
ElseIf Mid(o,i)="["
b+1
Y
Until b=0
EndMacro
If OpenConsole()=0
MessageRequester("Error","Unable to open console.")
End
Y
Print("Filename (blank to use std in)...? ")
f=Input()
If f=""
Repeat
l=Input()
s+l
Until l=""
Else
OpenFile(1,f)
Repeat
l=ReadString(1)
s+l
Until Eof(1)
CloseFile(1)
Y
For i=1 To Len(s)
c=Mid(s,i)
If FindString(C$,c)
o+c
Select c
X "["
b+1
X "]"
b-1
EndSelect
Y
Next
If b
Z("Uneven brackets")
Y
Dim _.b(m)
For i=1 To Len(o)
Select Mid(o,i)
X "+"
_(p)+1
X "-"
_(p)-1
X "."
Print(Chr(_(p)))
X ","
If w=""
w=Input()
Y
_(p)=Asc(Left(w,1))
w=Mid(w,2)
X ">"
p+1
If p>m
m+1000
ReDim _(m)
Y
X "<"
p-1
If p<0
Z("Memory pointer out of range")
Y
X "["
If _(p)=0
a()
Y
X "]"
If _(p)<>0
a(-1)
Y
EndSelect
Next
U()--------------------
Kann mir jemand sagen, was daran falsch ist:
Code: Alles auswählen
Macro m(a,b,c)
Macro a
b
c#ndMacro
EndMacro
m(e,EndProcedure,e)
					Zuletzt geändert von The Shark am 16.04.2012 11:17, insgesamt 1-mal geändert.
									
			
									
						Re: Wäre es nicht mal wieder an der Zeit...
Code: Alles auswählen
EnableExplicit
Global b,i,m=1000,C$="+-<>.,[]",p,f.s,l.s,s.s,c.s,o.s,w.s
Macro X
Case
EndMacro
Macro V
EndIf
EndMacro
Macro T
Procedure
EndMacro
Macro E
EndProcedure
EndMacro
T U()
Print(#CRLF$+#CRLF$+"Press ENTER to exit")
Input()
CloseConsole()
End
E
T Z(m$)
PrintN(m$)
U()
E
Macro a(d=1)
b=d
Repeat
i+d
If Mid(o,i)="]"
b-1
ElseIf Mid(o,i)="["
b+1
V
Until b=0
EndMacro
If OpenConsole()=0
MessageRequester("Error","Unable to open console.")
End
V
Print("Filename (blank to use std in)...? ")
f=Input()
If f=""
Repeat
l=Input()
s+l
Until l=""
Else
OpenFile(1,f)
Repeat
l=ReadString(1)
s+l
Until Eof(1)
CloseFile(1)
V
For i=1 To Len(s)
c=Mid(s,i)
If FindString(C$,c)
o+c
Select c
X "["
b+1
X "]"
b-1
EndSelect
V
Next
If b
Z("Uneven brackets")
V
Dim _.b(m)
For i=1 To Len(o)
Select Mid(o,i)
X "+"
_(p)+1
X"-"
_(p)-1
X "."
Print(Chr(_(p)))
X ","
If w=""
w=Input()
V
_(p)=Asc(Left(w,1))
w=Mid(w,2)
X ">"
p+1
If p>m
m+1000
ReDim _(m)
V
X "<"
p-1
If p<0
Z("Memory pointer out of range")
V
X "["
If _(p)=0
a()
V
X "]"
If _(p)<>0
a(-1)
V
EndSelect
Next
U()Wie soll denn der Code überhaupt auf Lauffähigkeit überprüft werden? Habe keine Ahnung von BrainFuck-Programmierung (überhaupt halte ich diesen Code nicht für besonders PureGolf-geeignet)
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
						- unkommentierter Quellcode = unqualifizierter Müll
- 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...
Code: Alles auswählen
EnableExplicit
Global b,i,m=999,C$="+-<>.,[]",p,f.s,l.s,s.s,c.s,o.s,w.s
Macro X
Case
EndMacro
Macro V
EndIf
EndMacro
Macro T
Procedure
EndMacro
Macro E
EndProcedure
EndMacro
T U()
Print(#CRLF$+#CRLF$+"Press ENTER to exit")
Input()
CloseConsole()
End
E
T Z(m$)
PrintN(m$)
U()
E
Macro a(d=1)
b=d
Repeat
i+d
If Mid(o,i)="]"
b-1
ElseIf Mid(o,i)="["
b+1
V
Until b=0
EndMacro
If OpenConsole()=0
MessageRequester("Error","Unable to open console.")
End
V
Print("Filename (blank to use std in)...? ")
f=Input()
If f=""
Repeat
l=Input()
s+l
Until l=""
Else
OpenFile(1,f)
Repeat
l=ReadString(1)
s+l
Until Eof(1)
CloseFile(1)
V
For i=1 To Len(s)
c=Mid(s,i)
If FindString(C$,c)
o+c
Select c
X "["
b+1
X "]"
b-1
EndSelect
V
Next
If b
Z("Uneven brackets")
V
Dim _.b(m)
For i=1 To Len(o)
Select Mid(o,i)
X "+"
_(p)+1
X"-"
_(p)-1
X "."
Print(Chr(_(p)))
X ","
If w=""
w=Input()
V
_(p)=Asc(Left(w,1))
w=Mid(w,2)
X ">"
p+1
If p>m
m+999
ReDim _(m)
V
X "<"
p-1
If p<0
Z("Memory pointer out of range")
V
X "["
If _(p)=0
a()
V
X "]"
If _(p)<>0
a(-1)
V
EndSelect
Next
U() 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.

						Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- NicTheQuick
 - Ein Admin
 - Beiträge: 8816
 - Registriert: 29.08.2004 20:20
 - Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
 
Re: Wäre es nicht mal wieder an der Zeit...
Also schon ts-softs erster Code funktioniert bei mir nicht. Bei Eingabe von folgendem Code kommt keine Ausgabe:
Normalerweise sollte das so aussehen:
			
			
									
									
						Code: Alles auswählen
++++++++[>++++[>++>+++>+++>+<<<<-]>+>->+>>+[<]<-]>>.>
>---.+++++++..+++.>.<<-.>.+++.------.--------.>+.>++.+++.Code: Alles auswählen
Press ENTER to exitFilename (blank to use std in)...? 
++++++++[>++++[>++>+++>+++>+<<<<-]>+>->+>>+[<]<-]>>.>
>---.+++++++..+++.>.<<-.>.+++.------.--------.>+.>++.+++.
Hello World!
Press ENTER to exit
- 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...
Dein Orginal-Code ist aber auch Fehlerhaft, Zeile 90 z.B.
Der Code wurde bisher lediglich gekürzt und nicht verändert, keine Ahnung warum es nicht mehr gehen sollte?
Mangels Ahnung von Gehirnfick, hab ich das auch nicht testen können.
			
			
									
									Der Code wurde bisher lediglich gekürzt und nicht verändert, keine Ahnung warum es nicht mehr gehen sollte?
Mangels Ahnung von Gehirnfick, hab ich das auch nicht testen können.
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.

						Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- NicTheQuick
 - Ein Admin
 - Beiträge: 8816
 - Registriert: 29.08.2004 20:20
 - Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
 
Re: Wäre es nicht mal wieder an der Zeit...
Ja, den Originalcode habe ich auch gar nicht getestet, Stargate wollte ihn nur mit Zeilenumbrüchen haben. Ich dachte sowieso wir wählen noch und legen nicht schon fest. 
 Aber man muss beim Originalcode ja nur das ".b" beim Redim weg machen, dann läuft's.
Aber dass keine Ausgabe kommt, ist natürlich schlecht. Dann kann man auch gleich alles wegkürzen. ^^
			
			
									
									
						Aber dass keine Ausgabe kommt, ist natürlich schlecht. Dann kann man auch gleich alles wegkürzen. ^^
- 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...
Fehler liegt evtl. in der Globalisierung aller Variablen, aber im Orginal wurden ja auch nur manche Variablen deklariert.
Startcode sollte IMHO auch Variablendeklaration erforderlich machen. Ich wollte den aber nicht erst noch anpassen,
weil ich dachte es würde auch so gehen. Fremdcode ohne EnableExplicit fasse ich normalerweise ja nicht an
			
			
									
									Startcode sollte IMHO auch Variablendeklaration erforderlich machen. Ich wollte den aber nicht erst noch anpassen,
weil ich dachte es würde auch so gehen. Fremdcode ohne EnableExplicit fasse ich normalerweise ja nicht an
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.

						Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

