Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » Neues Golf-rätsel: Ein Klassiker

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
01.12.2003, 14:56 Uhr
0xdeadbeef
Gott
(Operator)


Da simmer wieder. Ich hab aufgehört zu zählen, aber ich glaube, wir waren irgendwo bei 15 um den Dreh. Naja.

Die Aufgabe ist diesmal, eine ASCII-Tabelle zu erstellen, mit 12 Zeichen in jeder Zeile. Dabei ist folgendes Format für die Zeilen vorgegeben:

Code:
  68  69  70  71  72  73  74  75  76  77  78  79
   D   E   F   G   H   I   J   K   L   M   N   O


Es geht um die druckbaren ASCII-Zeichen (32 bis 127), deswegen auch die 12er-Aufteilung.

Mein erster Ansatz hat 98 Zeichen, ist aber noch nicht sonderlich ausgearbeitet. Von daher setze ich par bei 100 an, ich denke, das ist fair.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.12.2003, 15:04 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


wie sieht es mit dem format mit den 3 stelligen zahlen aus?
wo soll da das zeichen hin?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.12.2003, 15:10 Uhr
0xdeadbeef
Gott
(Operator)


Alles rechtsbündig, in vier Zeichen langen Blöcken (Ein Leerzeichen zur Trennung).
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.12.2003, 16:09 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hab jetzt leider keine zeit für das rätsel
hier mal mein erster ansatz, Vielleicht mach ich heute abend weiter

C++:
int i,x=1;
main(){
    for(i=31;++i<128; ){
        if(x)printf("%4d%c",i,(i+5)%12?0:10);
        else printf("%4c%c",i,(i+5)%12?0:10);
        (i+5)%12?i: (i-=x*12)&&(x=!x);
    }
}


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 01.12.2003 um 16:09 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.12.2003, 13:29 Uhr
kronos
Quotenfisch
(Operator)



C++:
int c;main(){for(;c<192;printf(c++%24<12?"%4i":"%4c",c/24*12+c%12+32))c%12?:puts("\n");}

<90
wie stellt ihr eigentlich immer die zahl der buchtstaben fest?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>

Dieser Post wurde am 02.12.2003 um 13:35 Uhr von kronos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.12.2003, 16:29 Uhr
0xdeadbeef
Gott
(Operator)


Hm. Ich hab im Moment keine Idee, wie ich meinen Ansatz noch weiter verkleinern könnte. Also, mein Zwischenergebnis mit 86 Zeichen und 1 newline:

C++:
int c,n;main(){for(;c<96;c%12||puts("")&&(c-=12*(n=!n)))printf(n?"%4c":"%4d",++c+31);}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
02.12.2003, 18:01 Uhr
kronos
Quotenfisch
(Operator)



C++:
int c;main(){for(;c++<208;printf(c%13?c%26<13?"%4i":"%4c":"\n",c/26*12+c%13+31));}

82+\n
sind eigentlich warnings erlaubt?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
02.12.2003, 18:19 Uhr
0xdeadbeef
Gott
(Operator)


OK, ich glaube, mit deinem Ansatz kommen wir weiter. Warnings sind erlaubt, solange es nicht die Nutzung irgendwelcher compilerspezifischer Erweiterungen sind; welche Warnungen rausgeschmissen werden, kann von Compiler zu Compiler unterschiedlich sein. Ich hab deinen runter auf 78 + 1:

C++:
main(c){for(;c<209;++c)printf(c%13?c%26<13?"%4i":"%4c":"\n",c/26*12+c%13+31);}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
02.12.2003, 18:36 Uhr
kronos
Quotenfisch
(Operator)


oha, wusste nicht, dass das geht...
ich habe an

C++:
c;main(){/*usw*/}

gedacht, das gäbe bei mir (gcc 3.2.1) eine warnung. deine lösung ist natürlich elegenater
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
02.12.2003, 18:43 Uhr
kronos
Quotenfisch
(Operator)


hmm, warum hast du's umgestellt?
so

C++:
main(c){for(;++c<209;printf(c%13?c%26<13?"%4i":"%4c":"\n",c/26*12+c%13+31));}

isses nochmal einer weniger.
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>

Dieser Post wurde am 02.12.2003 um 18:43 Uhr von kronos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: