Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » 35. virtual rästel (golf)

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 ]
000
31.07.2003, 19:38 Uhr
virtual
Sexiest Bit alive
(Operator)


Hi,

mal wieder ein kleines Golfrästel. Par sei 160, ich komm ohne große Anstrengungen in diesen Größenbereich:
Zu schreiben ist ein kleines wc, also ein programm, welches Anzahl der Zeilen, Wörter und Buchstaben zählt. Das Programm soll solange von der Eingabe Daten lesen, bis keine mehr da sind und dann die drei Werte einfach ausgeben. Folgender Input

Code:
virtuals 35stes
Rätsel ist ein
Golf Rästel
- Have Fun!


Liefert somit dieses Ergebnis:

Code:
4 10 55


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

Dieser Post wurde am 31.07.2003 um 19:39 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
31.07.2003, 22:11 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ohne viel dran rumzuoptimieren (ist ja für die 160 auch nicht nötig)fällt mir spontan dies hier ein

C++:
int z,w,c;
main(d){
for(;(d=getchar())!=EOF;c++)d==10?z++,w++:d==9||d==32&&w++;
printf("%d %d %d",z,w,c);
}



und? oder ?

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

Dieser Post wurde am 31.07.2003 um 22:30 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
31.07.2003, 23:17 Uhr
virtual
Sexiest Bit alive
(Operator)


@Heiko:
Natürlich abgelehnt: Was machst Du denn, wenn zwischen den Wörtern mehr als ein Leerzeichen steht?
--
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
003
31.07.2003, 23:21 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


die ignoriere ich einfach
ok patch folgt demnächst
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
31.07.2003, 23:30 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


so hier die noch optimierungsbedürftige aber locker unter 160 zeichen lösung
noch was dran auszusetzen?

C++:
main(d){
for(;(d=getchar())!=EOF;c++){
d==10?z++,w++:d==9||d==32&&w++;
if(d==32)x++;else x=0;
if(x>1)w--;
}
printf("%d %d %d",z,w,c);
}


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

Dieser Post wurde am 31.07.2003 um 23:31 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
31.07.2003, 23:49 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ups ist ja auch buggy,
so ich hoffe dies ist jetzt endlich richtig

C++:
int z,w,c,x;main(d){for(;(d=getchar())!=EOF;c++,x>1&&w--)d==10?z++,w++:d==32||d==9?w++,x++:x=0;printf("%d %d %d",z,w,c);}



und jetzt zufrieden?

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

Dieser Post wurde am 31.07.2003 um 23:55 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
01.08.2003, 09:43 Uhr
0xdeadbeef
Gott
(Operator)


Sowas in der Art:

C++:
int z,w,b,c;main(t){for(;read(0,&c,1);isspace(c)?w+=t,t=0,z+=c==10:++b,t=1);printf("%d %d %d",b,w,z);}


Ich sitz leider grad an nem Rechner ohne Compiler, aber als Proof of concept sollte das durchgehen. Schweinerei ist natürlich, dass ich davon ausgehe, dass das Programm ohne Parameter aufgerufen wird, so dass am Anfang t==1...
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
01.08.2003, 12:11 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@beefy
ich hab deins zwar nicht getest würde aber mal sagen das dein proggie kein tabs berücksichtig oder?
In diesem Falle wäre das dann natürlich

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

Dieser Post wurde am 01.08.2003 um 12:11 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
01.08.2003, 12:23 Uhr
0xdeadbeef
Gott
(Operator)


Was soll den isspace sonst machen? Allerdings bindet , nicht stark genug, also muss ich noch 2 Zeichen dranhängen:

C++:
int z,w,b,c;main(t){for(;read(0,&c,1);isspace(c)?w+=t,t=0,z+=c==10:(++b,t=1));printf("%d,%d,%d",b,w,z);}


Das wären 105.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 01.08.2003 um 12:25 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
01.08.2003, 12:28 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@beefy
oh sorry hab gerade mal in der doku unter isspace geguckt.
hast recht vom namen her dachte ich das der nur die spaces und nicht die tabs mit einbezieht.
Ist ja voll gemein das du mindestens immer eine funktion mehr kennst als ich

Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: