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 -=-
|
|