Seite 2 von 2
Re: [Sammelthread]Verwirrende Code-Fragmente
Verfasst: 11.07.2010, 13:02
von CodingCat
Eine extrem hässliche verkettete Liste mit NULL-Element am Anfang / Ende?!? Ich wüsste jedoch nicht, wieso ich sowas in C++ implementieren sollte. Ob es in Java sinnvoll ist, hängt wohl von dem Kontext ab, aus dem das herausgerissen wurde. ;-)
Re: [Sammelthread]Verwirrende Code-Fragmente
Verfasst: 11.07.2010, 13:06
von zwergmulch
So kann man es auch nennen, ich würde es aber eher
"eine funktionale Implementierung eines Stacks" nennen. :lol: 8-)
Sicher nicht unbedingt sinnvoll, aber wohl eine der kürzesten/die kürzeste Implementierung eines Stacks. :D
Edit: Hier noch mal ordentlich:
Re: [Sammelthread]Verwirrende Code-Fragmente
Verfasst: 11.07.2010, 13:07
von CodingCat
Wieso gibst du eigentlich immer false zurück?
Re: [Sammelthread]Verwirrende Code-Fragmente
Verfasst: 11.07.2010, 13:12
von zwergmulch
Ups! Das war ein Fehler. :( Siehe ordentliche Implementierung im neuen Post. Ist jetzt korrigiert.
Re: [Sammelthread]Verwirrende Code-Fragmente
Verfasst: 11.07.2010, 15:24
von Aramis
Das faellt dann wohl in die Kategorie Closure-Missbrauch und sollte eigentlich mit dem Tode bestraft werden :-)
Re: [Sammelthread]Verwirrende Code-Fragmente
Verfasst: 11.07.2010, 15:50
von Zudomon
zwergmulch hat geschrieben:Ok, wird wohl so schnell keiner mehr erraten, also: "Auflösung bitte!"
Schade, dass es keiner rausbekommen hat.
Damit wurde ein Ziffernblockmodul angesprochen. Es hatte 3 Spalten und 4 Zeilen... in der untersten war links und rechts eine Funktionstaste, in der Mitte die 0.
Es gab dazu noch ein Ausgabefeld für 4 Ziffern. In der Ausgabe sollten die gedrückten Tasten erscheinen. Dabei musste beachtet werden, dass die Tasten prellen. Damit die Taste nur einmal angenommen wird, darf sie während des Prellintervalls nicht nochmal registriert werden. Die eine Funktionstaste sollte ein Backspace realisieren, mit der anderen wurden alle Ziffern gelöscht.
Hier nochmal die enthedderte Version:
Code: Alles auswählen
#include <io6811.h>
#include <boardio.h>
#include <int6811.h>
#define A PIA1ADR
#define B PIA1BDR
unsigned char k[12],x=0,
a[12]={0,64,0,121,36,48,25,18,2,120,0,16};
unsigned short z=0;
interrupt void TOC5_interrupt(void)
{
TFLG1=8;
TOC5=TCNT+2500;
B=(x=++x%12)%4;
A=a[z>>(x%4)*4&15];
if(!k[x]&&k[x]=!(B&(32<<x%3)))z=(z<<4)*(x!=9)|(z>>4)*(x==9)|x*(x!=9);
}
void main (void)
{
PIA1ACR=PIA1BCR=0;
A=127;B=3;
PIA1ACR=PIA1BCR=PIA_DR;
TMSK1=8;enable_interrupt();
while(1);
}