Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » 41. Virtual rästel (verstehen und golfizieren)

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 ] > 4 < [ 5 ]
030
28.08.2003, 18:09 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Dann bin ich ja beruhigt. Ich hab schon gedacht da kommt wirklich so ne Lösung mit nur halb soviel zeichen wie ich hatte raus.
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
031
28.08.2003, 18:13 Uhr
0xdeadbeef
Gott
(Operator)


OK, ich sollte den Overhead am Ende auch wegnehmen:

C++:
char b[17];int f,i,j;main(c,s)int*s;{for(f=--c*open(s[1],0);read(f,&c,1)||(c=0)||j;(j=++j%16)||puts(b))j||printf("%08x ",16*i++),printf("%02x ",c),b[j]=isprint(c)?c:46;}


170.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
032
28.08.2003, 18:16 Uhr
0xdeadbeef
Gott
(Operator)


168:

C++:
char b[17];int f,i;main(c,s)int*s;{for(f=--c*open(s[1],0);read(f,&c,1)||(c=0)||i%16;++i%16||puts(b))i%16||printf("%08x ",i),printf("%02x ",c),b[i%16]=isprint(c)?c:46;}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
033
28.08.2003, 18:26 Uhr
0xdeadbeef
Gott
(Operator)


168 gehen übrigens auch so:

C++:
char b[17];int f,i,j;main(c,s)int*s;{for(f=--c*open(s[1],0);read(f,&c,1)||(c=0)||j;(j=++j%16)||puts(b))j||printf("%07x0 ",i++),printf("%02x ",c),b[j]=isprint(c)?c:46;}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 28.08.2003 um 18:27 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
034
29.08.2003, 09:13 Uhr
virtual
Sexiest Bit alive
(Operator)


Auch die 168 Version gibt in der letzten Zeile was falsches aus, wenn Dateilänge%16 != 0
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
035
29.08.2003, 09:25 Uhr
0xdeadbeef
Gott
(Operator)


Was ist falsch an

Code:
00000000 63 68 61 72 20 62 5b 31 37 5d 3b 69 6e 74 20 66 char b[17];int f
00000010 2c 69 3b 6d 61 69 6e 28 63 2c 73 29 69 6e 74 2a ,i;main(c,s)int*
00000020 73 3b 7b 66 6f 72 28 66 3d 2d 2d 63 2a 6f 70 65 s;{for(f=--c*ope
00000030 6e 28 73 5b 31 5d 2c 30 29 3b 72 65 61 64 28 66 n(s[1],0);read(f
00000040 2c 26 63 2c 31 29 7c 7c 28 63 3d 30 29 7c 7c 69 ,&c,1)||(c=0)||i
00000050 25 31 36 3b 2b 2b 69 25 31 36 7c 7c 70 75 74 73 %16;++i%16||puts
00000060 28 62 29 29 69 25 31 36 7c 7c 70 72 69 6e 74 66 (b))i%16||printf
00000070 28 22 25 30 38 78 20 22 2c 69 29 2c 70 72 69 6e ("%08x ",i),prin
00000080 74 66 28 22 25 30 32 78 20 22 2c 63 29 2c 62 5b tf("%02x ",c),b[
00000090 69 25 31 36 5d 3d 69 73 70 72 69 6e 74 28 63 29 i%16]=isprint(c)
000000a0 3f 63 3a 34 36 3b 7d 0a 00 00 00 00 00 00 00 00 ?c:46;}.........


?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
036
29.08.2003, 09:53 Uhr
virtual
Sexiest Bit alive
(Operator)


Die 0 Bytes stehen nicht in der Datei. So sieht der Output des Originals aus:

Code:
00000000 63 68 61 72 20 62 5b 31 37 5d 3b 69 6e 74 20 66 char b[17];int f
00000010 2c 69 2c 6a 3b 6d 61 69 6e 28 63 2c 73 29 69 6e ,i,j;main(c,s)in
00000020 74 2a 73 3b 7b 66 6f 72 28 66 3d 2d 2d 63 2a 6f t*s;{for(f=--c*o
00000030 70 65 6e 28 73 5b 31 5d 2c 30 29 3b 72 65 61 64 pen(s[1],0);read
00000040 28 66 2c 26 63 2c 31 29 7c 7c 28 63 3d 30 29 7c (f,&c,1)||(c=0)|
00000050 7c 6a 3b 28 6a 3d 2b 2b 6a 25 31 36 29 7c 7c 70 |j;(j=++j%16)||p
00000060 75 74 73 28 62 29 29 6a 7c 7c 70 72 69 6e 74 66 uts(b))j||printf
00000070 28 22 25 30 37 78 30 20 22 2c 69 2b 2b 29 2c 70 ("%07x0 ",i++),p
00000080 72 69 6e 74 66 28 22 25 30 32 78 20 22 2c 63 29 rintf("%02x ",c)
00000090 2c 62 5b 6a 5d 3d 69 73 70 72 69 6e 74 28 63 29 ,b[j]=isprint(c)
000000a0 3f 63 3a 34 36 3b 7d 0a                         ?c:46;}.


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 29.08.2003 um 10:11 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
037
29.08.2003, 10:12 Uhr
0xdeadbeef
Gott
(Operator)


Womit wir bei 177 wären:

C++:
char b[17];int f,i,j;main(c,s)int*s;{for(f=--c*open(s[1],0);read(f,&c,1)||j;c=0,(j=++j%16)||puts(b))j||printf("%07x0 ",i++),printf(c?"%02x ":"   ",c),b[j]=c?isprint(c)?c:46:0;}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
038
29.08.2003, 10:19 Uhr
0xdeadbeef
Gott
(Operator)


Ziehe das formell zurück.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
039
29.08.2003, 10:31 Uhr
0xdeadbeef
Gott
(Operator)


182, vorläufig:

C++:
char b[17],c;int i,j;main(f,s)int*s;{for(f=--f*open(s[1],0);read(f,&c,1)||j;c=-1,(j=++j%16)||puts(b))j||printf("%07x0 ",i++),printf(c+1?"%02x ":"   ",c),b[j]=c+1?isprint(c)?c:46:0;}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] > 4 < [ 5 ]     [ 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: