Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » C-golf Loch 10: Dreieck

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
18.07.2003, 00:31 Uhr
0xdeadbeef
Gott
(Operator)


Da simmer wieder. Diesmal: Schreib ein Programm, dass eine Zahl einliest und dann ein Dreieck in entsprechender Größe ausgibt. Im Endeffekt wären das n+1 Zeilen, also zum Beispiel:

Code:
3
   *
  * *
*   *
*******


Par sind 120 Zeichen, ich hab 106. Die Unterstriche sind wie immer als Leerzeichen gemeint.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 18.07.2003 um 15:43 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.07.2003, 09:40 Uhr
daredevil
Speicherteufel


Hier meine lösung:


C++:
main(n,i){scanf("%d",&n);n++;for(i=-n;++i<0;abs(i-1)!=n?printf("%*c%*c\n",abs(i)+1,42,!(n-abs(i)-1)?:2*(n-abs(i)-1),42):printf("%*c*\n",abs(i)));for(;i++<n;printf("* "));}



171 Zeichen wenn ich mich nicht verzählt habe.
--
tschüss,
DareDevil

Dieser Post wurde am 18.07.2003 um 09:41 Uhr von daredevil editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.07.2003, 10:32 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@beefy
ui ein rätsel schon um diese Uhrzeit. Mal gucken ob ich schon wach genug bin...
war ja leicht diesmal
um 106 zu unterbieten brauchte ich mir nicht mal mühe zu geben

C++:
main(i,n){cin>>n;for(i=-1;++i<n;printf("%*c%*c\n",n-i+1,42,i?i*2:i,i?42:0));cout<<string(2*n+1,42);}



Gruss heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.07.2003, 11:30 Uhr
daredevil
Speicherteufel


Des ist ja fies, du hast ja c und c++ gemischt gemacht
--
tschüss,
DareDevil
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.07.2003, 11:44 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@DareDevil
wenns dich so stört kannst du es auch noch nur in c haben.
Ist auch locker unter 120


C++:
main(i,n){scanf("%d",&n);for(i=-1;++i<n;printf("%*c%*c\n",n-i+1,42,i?i*2:i,i?42:0));while(i++<=3*n)printf("%c",42);}



Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.07.2003, 12:10 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


schon nach 12
na beefy kommst du nicht unter 100
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.07.2003, 12:34 Uhr
Tommix



Hallo,
@Heiko,
aus Deinem 116er hab ich 107 gemacht, ich will aber nichts geklautes posten - es sei denn, ich schaff noch zwei weniger.

Gruss, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
18.07.2003, 13:06 Uhr
0xdeadbeef
Gott
(Operator)


@Heiko: Deine erste Lösung mit 101 Zeichen ist C++, und C++ nimmt diese implizite Erklärung von ints nicht mehr an. Konstrukte wie

C++:
main(i,n){}


kompilieren in C, aber nicht in C++. Deine zweite dagegen ist schon ein guter Anfang, ich möchte aber nen kleinen Patch anbieten:

C++:
main(i,n){scanf("%d",&n);for(i=-1;++i<n;printf("%*c*%*c\n",n-i,32,i*2,i?42:0));while(i++<=3*n)putchar(42);}


Übrigens bin ich runter auf 101.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 18.07.2003 um 13:19 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
18.07.2003, 13:48 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Tommix
kannst rühig was geklautes posten. Mich interessiert auch wie mans besser machen kann.
Wobei ich mir beim zweiten keine Mühe gegeben habe. Ich wollte nur schnell DareDevil beruhigen


@beefy
das hier war meine erste Lösung die war allerdings 102
wäre die denn zulässig gewesen?

C++:
int i,n;main(){cin>>n;for(;i<n;i++)printf("%*c%*c\n",n-i+1,42,i?i*2:i,i?42:0);cout<<string(2*n+1,42);}




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

Dieser Post wurde am 18.07.2003 um 13:48 Uhr von Heiko editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
18.07.2003, 14:01 Uhr
0xdeadbeef
Gott
(Operator)


main muss auch explizit als int erklärt werden, wenn du C++ benutzt. Sonst wär ich auch schon unter 100...
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
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: