Hollosi Information eXchange /HIX/
HIX CODER 90
Copyright (C) HIX
1998-04-27
Új cikk beküldése (a cikk tartalma az író felelőssége)
Megrendelés Lemondás
1 Re: ez, az + OPENGL (mind)  67 sor     (cikkei)
2 LPTX (mind)  9 sor     (cikkei)
3 memoria allokacio (mind)  37 sor     (cikkei)
4 [rnd] Veletlen generalas nem egeszen veletlenul (mind)  33 sor     (cikkei)

+ - Re: ez, az + OPENGL (mind) VÁLASZ  Feladó: (cikkei)

On 25 Apr 98 at 8:42,  > wrote:

> Haho,
> 
>  [Hungary]
> >Re: C programozashoz help kene ( 94 sor )
> 
> a union-os megoldashoz annyit fuznek hozza hogy azert nem artana
> jelezni miben is kulonbozik a union egy strukturatol, annak aki nem tudja
> ez meglepeteseket okozhat....

Azt hiszem, (attetelesen) leirtam: a tagjai kozul a legnagyobb 
meretet allokalja neki. Amit nem irtam, hogy a felsorolt kulonbozo 
tipusu adatokkent lehet utana ugyanahhoz a memoriaterulethez 
hozzaferni, ezt most potoltam...

> >hanem
> >   char s[];
> >kell! (Ez azon ritka(?) esetek egyike, amikor a tomb es a pointer nem
> >ugyanaz!!!)
> 
> Nem. Ebben az eseteben a char s[] valoban nem egyeno char *s -el de pont
> forditva van.

??? Nem, nincs forditva !!

> Ha a valtozot char s[]-nek deklaralod akkor eloszor is egy
> warning-ot kapsz hogy az s merete 0, majd amikor peldaul egy

En nem kaptam warning-ot, de ez mondjuk fugghet a forditoprogramtol 
is.

> s=malloc(10)-et hivsz az s-rol kiderul hogy nem valtoztathato a merete. Az

Ilyet miert csinalnek? En nem a cimet akartam s-be tenni, hanem a 
tombot magat!! Azert kell char s[]-nek lennie, nem pedig pointernek.
Ahova a cimet teszem, annak meg nem 0 a merete, mert _az_ tenyleg egy
pointer, ami egy union-re mutat.

> s[] hossza elore meghatarozott es 0.

Ez igaz, de kulonosebben nem zavaro, mert az objektumot akkora 
mereture allokaltam, amekkora hely kell.

> Ugyanugy char *s-nek kell a valtozot
> deklaralni mint eddig

Abbol nagy elszallasok lennenek! Ugyanis a ket dolog itt teljesen 
mast jelent: ha pointer az s, akkor az

strcpy(valtozo->s, string);

nem a *valtozo belsejebe masolna, hanem oda, ahova a 
*valtozo-ban levo szemet mutat, tehat meg egy indirekcio lenne 
belole. (A * jeleket direkt irtam oda!)

> hiszen a *s-nek igazan mindegy hol es mikor
> allokaltak a memoriat amelyre mutat.

Valoszinu ezt ertetted felre: nincs *s! Nem pointer!

István

ps: Ha megjegyzesed lenne az irtakhoz, csak egy het mulva tudok ra 
valaszolni, bocs. Nem leszek net kozelben.
--  Istvan Marosi  --  http://www.sch.bme.hu/~marosi  --
--  Recosoft Ltd.  --  mailto:  --
+ - LPTX (mind) VÁLASZ  Feladó: (cikkei)

> 2. Hogyan tudnam azt elerni (C, Pascal), hogy ami egy porton kimegy > vagy
> bejon (modem, nyomtato, hangkartya, halozati kartya) annak a masolata > egy
> fajlba meglegyen?

Erre van egy LPTX nevu program, 18 K, akit erdekel, szoljon es kuldom.
(Aztan ki lehet probalni, melyik program tudja kicselezni es melyik nem. Az
LPTX-et 1987-ben irtak, Szerintetek csinal vedett modu futtatokornyezetet?...)

Ja, van egy olyan tippem, hogy ami bejon a porton, azt nem fogja naplozni.
+ - memoria allokacio (mind) VÁLASZ  Feladó: (cikkei)

> ugyanis a main-ben elfogyott az egesz.
> ez kerdes is: mit lehet ilyenkor tenni?

ha elfogyott akkor nincs mit tenni, tobb RAM-ot kell venni.

>A gond az, hogy ha ezt sokszor megcsinalod, mindig marad egy kis
>felszabaditatlan memoria, ami egy ido utan betolti az egesz szamitogepet.
>Erre van valakinek megoldasa?

altalaban veve nincs olyan torveny ami eloirna hogy pl. C-ben(de ez mas
nyelvre is ugyanigy igaz) a free(valami)-val felszabaditott memoriaval mi
is tortenik tulajdonkepp.  Csakis az kotelezo, hogy egy rakovetkezo
malloc(sizeof(valami)) (free-elotti valami) vegrehajthato legyen. De ez
nem jelenti azt hogy a malloc ugyanarrol a helyrol fog allokalni ha van
mas hely is!

Igy nyugodtan megtortenhet, hogy szamos oriasi tombot lefoglasz utana
felszabaditod de hiaba az operacios rendszernek nem adjak vissza a
memoriat. Kivulrol nezve elfogyhat a memoria.  De a programon belurol ez
nem igy latszik es ha a progid memoria hianyrol panaszkodik akkor valami
zur van az allokacioval. A program befejezodesevel persze minden altala
lefoglalt memorianak fel kell(ene) szabadulnia de tisztesseggel szolvan ez
mar nem a progi felelossege hanem az operacios rendszere. 

>1. Csinalj egy kis progit ami csak szamol. Indist el TOK uresen (a leheto
>legkevesebb task legyen a hatterbe). Szamold meg, hogy mennyi ciklus
>futatott le egysegnyi idoalatt. Ez legyen a konstans 100%.

Nah. Ez UNIX alatt megvalosithato lenne mert ott konnyen rendelhetsz
kulonbozo prioritasokat (win95 alatt meg nem hallottam errol bar lehet
hogy van ilyen, van-e? ) de most szerintem az eredmeny az lesz hogy a
ray-tracer ketszer annyi ideig fog futni -> nem is kell ejjel
felkelni...;-)

csak jot,

szin.
+ - [rnd] Veletlen generalas nem egeszen veletlenul (mind) VÁLASZ  Feladó: (cikkei)

Hi Coders!

Egy veletlenszam generatorra lenne szuksegem ami nem egeszen veletlenszamokat g
eneral. Pl. 0-1 intervallumba szeretnem ha
a _random_ szamok mondjuk 0.8 tajekan csoportosulnanak.

Ha igy nem vilagos egy gyakorlati peldan szeretnem megmutatni.
 Elindulok a buszmegallo fele. Ugyan a busz mar elment de latom,
 hogy a buszmegalloba mar alnak nehanyan. Ekkor elkezdem saccolni,
 hogy mikor jon a legkozelebbi busz. Azt tudom, hogy az idetlenek
 (buszok) felorankent jonnek (+- felora :)). Tehat valasztok egy
 tetszoleges idopontot, majd az ido elorehaladtaval egyre jobban
 (_remenykedem_) kozelitek a feloras idopont fele. Tablazatosan:
  Most jottem	 | A busz elment, legkozelebbi sac. 30 perc
   5 perc eltelt | A busz mindjart jon, de legfeljebb 25 perc.
  10 perc	 | A busz mostmar tenyleg johetne, adok meg 20 percet
  15 perc	 | A busz itt lehetne mar, na jo, meg 15 perc
  20 perc	 | Kezdek megharagudni, most 10 perce van csak hatra
  25 perc	 | Ki van a ..., ha nem lesz itt 5 perc mulva
  30 perc	 | Jon a busz, hurra.
 A pelda termeszetesen meg mas is lehetne (pl. bizonytalan esemeny
 bekovetkezesenek biztato bemutatasa, stb).
 Tehat az ido fuggvenyeben valtozik a _randomgenerator_.

Hogyan lehetne megcsinalni egyszeruen?

ui: mar megen lamerkodtam egy jooot :)

udv: XiX

       -=-  -=-
-=- Minden masodik szavam hazugsag -=-
-=- Az orokevalosagnak kell elni. Na bumm, legfeljebb nem sikerul -=-

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