Ładny brzuch

elou again :)
mam dla was kolejne [po zagadce] wyzwanie :]

nalezy napisac w C++ kod, ktory po kompilacji wyswietli dokladne (co do znaczka) swoje zrodlo.
czyli jesli programik ma takie zrodlo:
#include <iostream.h> int main() {   cout<<"elou";   return 0; }
to w konsoli ma sie wyswietlic jego zrodlo:
#include <iostream.h> int main() {   cout<<"elou";   cin.get();   return 0; }
ze wszystkimi przejsciami do nowej linii, wcieciami, itp. tak ze wynik wyswietlany w oknie konsoli jest identyczny z plikiem zrodlowym. chyba wsio jasne :] of coz powyzszy progs wyswietla 'elou' zamiast swojego kodu ;)

kilka innych rulesow:
1) uzywamy kompilatorow bcb 6.0 albo Dev-cpp
2) kod moze sie kompilowac z warningami byleby sie programik uruchamial ;)
3) of coz czytanie z pliku jest niedozwolone ;) i nie ma wiekszego sensu :]
4) wygrywa kod, ktory ma najmniejsza ilosc bajtow :]
5) nagrod nie ma :] ale jest satysfakcja :P

na koniec przykladowy kodzik, moze was natchnie na jakies wypasione rozwiazania:#include <iostream.h> int i; char* x[11]; int main() {   x[0]="#include <iostream.h>";   x[1]="int i; char* x[11];";   x[2]="int main() {";   x[3]="   x[";   x[4]="]=";   x[5]=";";   x[6]="   for(i=0;i<3;i++) cout<<x[i]<<endl;";   x[7]="   for(i=0;i<11;i++)";   x[8]="      cout<<x[3]<<i<<x[4]<<(char)34<< x[i]<<(char)34<<x[5]<<endl;";   x[9]="   for(i=6;i<11;i++) cout<<x[i]<<endl;";   x[10]="}";   for(i=0;i<3;i++) cout<<x[i]<<endl;   for(i=0;i<11;i++)      cout<<x[3]<<i<<x[4]<<(char)34<< x[i]<<(char)34<<x[5]<<endl;   for(i=6;i<11;i++) cout<<x[i]<<endl; }



Tak si skada, e Twj program nie spenia Twoich wymaga :)
Wytarczy spojrze na rozmiar pliku rdowego a rozmiar tekstu wygenerowanego na wyjcie :P
Uytkownik Zombiak edytowa ten post 08 luty 2005, 20:30
To jest tylko przykad nie wymagaj za wiele ;), ja mam pytanie do kiedy trwa konkurs i ewentualnie jak ju to sie napisze to gdzie wysa czy co :)?

nie znam c, ale czy mi si tydaje czy Ty po prostu wstawiasz do tablicy ponownie kod i pniej pokazujesz tablic ?? jak tak to :lol: :lol: :lol: :lol: :lol:



bedzio nie wydaje ci sie :blink: to zaden problem napisac cout>>"zrodlo" i sie cieszyc :huh:

Zombiak: rzeczywiscie kod troche niefortunnie zostal sformatowany przez skrypty forum :( wciecia powinny byc na 3 spacje, a zostaly zmienione na dwie, mozna samemu poprawic albo sporbowac ponizszy kod [ moze teraz przejdzie obrobke dobrze :) ]
#include <iostream.h> int i; char* x[11]; int main() {    x[0]="#include <iostream.h>";    x[1]="int i; char* x[11];";    x[2]="int main() {";    x[3]="   x[";    x[4]="]=";    x[5]=";";    x[6]="   for(i=0;i<3;i++) cout<<x[i]<<endl;";    x[7]="   for(i=0;i<11;i++)";    x[8]="      cout<<x[3]<<i<<x[4]<<(char)34<< x[i]<<(char)34<<x[5]<<endl;";    x[9]="   for(i=6;i<11;i++) cout<<x[i]<<endl;";    x[10]="}";    for(i=0;i<3;i++) cout<<x[i]<<endl;    for(i=0;i<11;i++)       cout<<x[3]<<i<<x[4]<<(char)34<<x[ i]<<(char)34<<x[5]<<endl;    for(i=6;i<11;i++) cout<<x[i]<<endl; }
NeVeS: mysle ze na razie bez konkretnego terminu ;) zawsze ktos moze przeciez wrzucic jakis odkrywczy kawalek kodu, na ktorym wszyscy skorzystaja ;] sam mam jedna ciekawa wersje, ale na razie czekam na wasze propozycje :]

Bedzio nie bardzo rozumiem o co ci chodzi :P przeczytaj moze dokladnie tym razem tresc zadania albo wytlumacz sensowniej co cie tak bawi :)

Teraz jest chyba ok :)
A co do innego sposobu jaki mi przychodzi do gowy to s makra, ale nie wiem jakie to ma szanse powodzenia.

Pomys ciekawy, ale troch bezpoyteczny :D


IsleFX - ale chyba nigdy nie skocze,przynajmnej dopki nie umiem zrobi Octree :)
A co, takie rozbudowane? :) te niedugo bd prbowa zrobi octree-najbardziej wkurza mnie to, e trzeba opracowa jakis sposb, aby np. dana funkcja renderowaa kawaek planszy.

ostatnio utrafilem wiec wklejam dla potomnych :)
#include<iostream.h> #define p(x)cout<<x<<#x<<");}" main(){p("#include<iostream.h>\n#define p(x)cout<<x<<#x<<\");}\"\nmain(){p( ");}

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •