Hollosi Information eXchange /HIX/
HIX CODER 1623
Copyright (C) HIX
2002-09-09
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: itt egy erdekes kis forras... (mind)  42 sor     (cikkei)
2 Amoba (mind)  14 sor     (cikkei)
3 Re: C -> C++ (mind)  41 sor     (cikkei)

+ - Re: itt egy erdekes kis forras... (mind) VÁLASZ  Feladó: (cikkei)

On 5 Sep 02, at 1:43, gerst=tippnet.co.yu wrote:

> Hello coder,
> 
>   Talaltam egy erdekes forrast ami nagyon ossze-visszanak tunik az
>   egesz (legalabbis nekem :) ), de miutan lefutattam, nem hittem a
>   szememnek...hogy ez a kod ezt csinalja, ha lenne valaki aki egy
>   kicsit kielemezgetne a dolgokat az igazan jo lenne,

Van sok elvadult ember, aki ilyeneket talál ki :) Nem magyarazom el, 
legalabbis most nem, inkabb kuldok egy modositott valtozatot, amiben 
kicsit atbuheraltam az eredetit:

#include <stdio.h>

main(t,_,a)
char *a;
{
return!0<t?t<3?main(-79,-12,a+main(-87,1-_,main(-86, 0,
!a||a+main(-87,-27,a-1))+a)):1,t<_?main(t+1,_,a):3,main(-94,-25+t, a
)&&t == 2 ?_<12 ?main ( 2, _+1, "%*s %8s\n" ):8:13:t<0?t<-72?main(_,
t,"@?~}<5c;:/.*][a./%inm[5./[?[?i./m5%5./Q]c*[?./c](?./\
(ni<ba./3])a./[5%i[5./%in[a./c5s5b*./@-5..54@?~}<5c;:/c5s5b*|)?@\
-ab?1:c5?b*|3a@-ab?;:/%in[a4|b*n)?)?;:/[5%i[54|45[;@45[;@45[;:/3]\
)a4|!5)5)5;:/(ni<ba4|ma,;@ma,;@ma,;:/c](?4|sns?s?;:/Q]c*[?4|(?b(?c\
];:/m5%54|mnQ@)?3b?c;:/[?[?i|!a[m5.?;:/%inm[54|%inQ;@%inQ;@%inQ;:\
/.*][a4|[n.m?[a.*1:[?m5@[n..*a4;@5(5i@.*][a4;:\
</@-?i?m!?/45sni@-?b@5s*}54p::/5c,as*a..@?}54#:/")
:t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
+1):0<t?main(-88,-28,a-main(2,2,0)):*a=='/'||main(0,*a>='|'?main(-98
,'|'-24-*a,"%s"):main(-61,*a, ",@%5s;!c+b*(#-p[Q])<=3.14?\
main:f ceg,bl:nyd.v!kpuhzEjt;marosi\n"),a+1);
}

Annyit tennek hozza, hogy azert nem ekezetes betukkel irja ki a 
verset, mert linux alatt meg win alatt mas a karakterkeszlet, az 
egyik elvezhetetlen lenne. Meg egy megjegyzes: a legnagyobb 
valtoztatas azert kellett bele, mert ebben a versben az utolso 
verszak mashogy vegzodik, mint az elso tiz. Ettol kicsit hosszabb a 
kod, mint a my true love-os eredeti.

István (A vezetéknevem benne van a kodban :))
+ - Amoba (mind) VÁLASZ  Feladó: (cikkei)

> Mero Laci programja persze meg nem ilyen strategia szerint mukodott, es 
 > nagyon gyors volt a nehany megahertzes (mennyi volt?) R10-esen. A 

3MHz, 64K RAM (1us ciklusidovel) es 800K disk.
 
 > haromszori jatszma pedig azert volt erdekes, mert volt a programban egy 
 > tanulasi kepesseg is, ketszer nem lehetett ugyanugy megverni.

A manual eredetileg igy irja: "..aki VALTOTT KEZDESSEL egymas utan 
haromszor megveri.." (kiemeles tolem), azaz csak egyszer kellett ugy
megverni, hogy a gep kezdett, ketszer az embere volt az elony. Akkor
sem volt konnyu...

Zoltan
+ - Re: C -> C++ (mind) VÁLASZ  Feladó: (cikkei)

Szia!

> > Ui: Szegyen, gyalazat the elfelejtettem, hogy C-ben hogy
> > lehet beolvasni a standard inputrol (ha pontatlanul
> > fogalmaztam, akkor bocsanat),
> getchar() v. getch() parameterezesre mar nem emlexem:)

Megfelel, ha egy karaktert akarsz beolvasni. Parametere nincs, visszateresi
erteke
a karakter ASCII kodja. Sorvegeig a gets() hivas olvas be, de sztem
beolvasasilag
legpraktikusabb scanf() hivast alkalmazni.

> > konkretan, hogy ha
> > parancssorbol akarok parametert adni a programomnak,
> > mondjuk egy file-t, akkor azt hogy olvasom be?
> main(int argc, char* argv[])
> argc: az argv-ben levo stringek szama (minimum egy: a programod neve)
> argv: a stringekre mutato pointerek (az elso a programod neve)

Igen, csakhogy a < vagy << utani reszt nem kapja meg a program parameterben,
hanem a file.kiterjesztes lesz a program stdinje. Errol a shell gondoskodik.
Ebbol az elobb leirt modokon lehet olvasni. EOF-ig.

> > valahogy igy
> > kepzelem, hogy program.exe << file.kiterjesztes - ekkor
> > hogy ferek hozza a a file tartalmahoz, ami egy sztring lesz.
> fopen(), parameterezes megint nuku:) (csak winapi)

Elobb is irtam, ezt a filenevet te soha nem kapod meg. 'stdin' lesz a
filemutatod,
illetve 0 a filedeszkriptorod amibol olvasgathatsz.

> >  .  Illetve az sem ugrik be, hogy hogyan konvertalok
> > kulonbozo valtozokat (azaz "12" -> 12).
"12"-rol 12-re az atoi() hivas hasznalhato, amely a parametereben megkapott
stringet
(char*) megprobalja intte alakitani.
--
Hofferek Attila >
GPG public key: http://WiZARD.DunaNet.hu/~hofi/gpgkey-hofi.asc

AGYKONTROLL ALLAT AUTO AZSIA BUDAPEST CODER DOSZ FELVIDEK FILM FILOZOFIA FORUM GURU HANG HIPHOP HIRDETES HIRMONDO HIXDVD HUDOM HUNGARY JATEK KEP KONYHA KONYV KORNYESZ KUKKER KULTURA LINUX MAGELLAN MAHAL MOBIL MOKA MOZAIK NARANCS NARANCS1 NY NYELV OTTHON OTTHONKA PARA RANDI REJTVENY SCM SPORT SZABAD SZALON TANC TIPP TUDOMANY UK UTAZAS UTLEVEL VITA WEBMESTER WINDOWS