Progtutorials

Progtutorials
2007-06-28T22:12:33+02:00
2007-12-06T17:58:40+01:00
2022-10-30T04:25:49+01:00
  • --up--
    Mutasd a teljes hozzászólást!
  • Rajtad kívül is hallottam pár kezdeményezésről...


    nos, igen, elkészült az én verzióm is (szintén nem sok tartalommal) - igazából már egy pár hete készen van (kicsit bétában, csak azóta nem volt időm fejleszteni) de csak most lett meg a domain.

    progtut.net

    nézzétek meg, és várom a véleményeket

    Crystal
    Mutasd a teljes hozzászólást!
  • Helló!

    Úgy látom, hogy egy nap nem volt elég reagálásra bárki részéről, noha más esetekben csak pislogok az azonnali válaszok láttán.
    Nyugdíjas vagyok, a számítástechnikával, azon belül is a Fortran nyelvvel 1981-ben kezdtem. Amatőr alapon írtam különböző nyelven programokat, de ma már inkább nosztalgiázok.
    Amint olvastam a topicot pár napja, mindjárt meg is néztem a site-odat, és ezután is meg fogom nézni, attól függetlenül, hogy (nagy) szükségem nincs rá, a mai modern nyelveket nem ismerem, (talán a Javascript kivételével). Ha nagy programfejlesztési terveim lennének, akkor biztos nagyon örülnék egy ilyen honlapnak!
    Kíváncsian várom, hogy sikerül-e megvalósítani; kívánom, hogy sikerüljön!
    Mutasd a teljes hozzászólást!
  • Hmm most kicsit elbizonytalanodtam. Mármint az oldalt meg akarom csinálni és meg is fogom, csak alapvetően azt gondoltam nagyobb érdeklődést vált ki az emberekből ez a téma. Tán csak én látom milyen haszna lehetne ennek az oldalnak? PHP C# Basic .NET OpenGl SDL C C++ Pascal ASM Javascript és még végtelenségig sorolhatnám azokat a témaköröket amik tervbe vannak véve az oldalon. Az érdekel lenne-e számotokra igény erre az oldalra?
    Mutasd a teljes hozzászólást!
  • KisJ - Azt vettem ki szavaidból röviden, hogy mások szerint is lenne igény ilyen oldalra, s nem is túl eredeti az ötlet, de elég eredetivé lehetne tenni azzal ha ez kivételesen megvalósulna :) Rajtad kívül is hallottam pár kezdeményezésről...
    Mellesleg köszönöm szépen a felajánlást, még átgondolom hogy legyen, mert már ez a tárhely megvan és a domainregisztrálás elindult... Most már nem igazán látnám értelmét áttenni az oldalt, de tényleg hálás vagyok...

    SamBowry - Azok a cikkek amik kinnt vannak egyáltalán nem véglegesek, sőt az alapötlet is wiki-hez hasonló... A jelenleg készülő fórum úgy működik, hogy minden cikkhez tartozik kérdések, tanácsok, kérések szoba, és pont azért hogy ha te vagy ha akárki más hiányosságot lát benne akkor hozzászólhasson a dologhoz, majd a cikket az adott témakör szerkesztője bővíthesse/javíthassa. Megjegyzendő hogy nem vagyok C zseni és nem is én vagyok az aki ezt a témakört vinni fogja, ezért sem meglepő hogy tucatnyi helyen bele lehet kötni, de pont ez lenne a lényege az egésznek! Mondjuk belinkelted ezt a cikket véletlenszámgenerálásról, ami tényleg hasznos és bővítve is lesz a cikk ennek a tartalmáva.
    A gyors átkonvertálás egyik db-ből a másikba meg tényleg nem ment tökéletesen :) Mire meglesz nyitva az oldal domainel mindennel, javítva lesz minden apró hiba és megpróbálunk egy két témát kifogástalanul kitenni... Eszembe sincs így megnyitni hivatalosan egy oldalt, de azt hiszem fejlesztési stádiumban elfogadható hogy nem tökéletes, hisz pont ez a lényege a fejlesztési stádiumnak... :P

    by Kylerrr
    Mutasd a teljes hozzászólást!
  • http://progtutorials.dsng.hu/?p=read&id=18

    for(i=0;i<10;i++) printf("%d ",rand());

    \n bekavart picit.



    http://progtutorials.dsng.hu/?p=read&id=18
    return rand() % (Max - Min + 1) + Min;

    Érdemes lenne felhívni a figyelmet, hogy "komolyabb" programban ez a megoldás nem ajánlott: http://members.cox.net/srice1/random/crandom.html
    Mutasd a teljes hozzászólást!
  • http://progtutorials.dsng.hu/?p=read&id=6

    Gondolom ilyet még nem láttál:

    switch (count % 8) /* count > 0 assumed */ { case 0: do { *to++ = *from++; case 7: *to++ = *from++; case 6: *to++ = *from++; case 5: *to++ = *from++; case 4: *to++ = *from++; case 3: *to++ = *from++; case 2: *to++ = *from++; case 1: *to++ = *from++; } while ((count -= 8) > 0); }
    ( Duff's device - Wikipedia, the free encyclopedia )

    http://progtutorials.dsng.hu/?p=read&id=13

    A kellő számot úgy ahogy a beállító függvényünknél meg tudjuk csinálni: <pre><code> void flip_field(int id) { table ^= 1&lt;<id }=""></id></code></pre> És most már tényleg kész az összes kellő függvény, és már ismerjük is az összes bitműveletet.

    Az előjeles változóknál a bal szélső bit úgy értelmezendő, hogyha 0 akkor a számolás 0-ról kezdődik, ha 1 akkor -128-ről. A maradék hét bitet úgy kezeled mintha rendes bináris szám lenne, és hozzáadod az alapszámhoz.


    Így kimarad az a poén, hogy a "negatív" értékek ábrázolása a túlcsorduláson alapul:

    a+b == 0 --> a == -b

    A véges számábrázolás miatt minden 'a' értékhez található olyan 'b' érték, hogy az 'a+b' összeg túlcsordul, az eredmény '0'. Bitekre lefordítva a két szám viszonyát, kapjuk meg a kettes komplemenst, ami az 1-es komplemens plusz 1.

    Mivel minőségét tényleg komolyan gondoltam


    Csinálj wiki-t belőle.
    Mutasd a teljes hozzászólást!


  • En is akartam ilyen oldalt csinalni.
    Csak mivel meghalni sincs idom ezert elakadt a dolog.

    Viszont vagy egy domainem tarhellyel.

    www.programista.hu

    Elvileg gyors es nagy.

    Fel tudom ajanlani kozos szerkesztesre.

    Mutasd a teljes hozzászólást!
  • Hali!
    Ez a téma már egy ideje halott, viszont most úgy érzem muszály felfrissítenem!

    Egy olyan oldal megalapításáról lenne szó, melynek célja programozással kapcsolatos válogatott tudásanyag felhalmozása minőségi formában. Ez szerintem mindenképp hasznos oldal lenne mindenki számára. Ha olyan oldalt sikerül megalkotni amelyet elképzeltem, tényleg akármit meg lehetne találni rajta ami csak érdekli az embereket. Komoly scene-t építhetnénk köré, bár ez még a jövő zenéje...

    Egy kis idővel ezelőtt estem neki az oldalnak először, amelyre saját 18 cikkemet tudtam még csak kitenni a C programozási nyelvről. Kezdő programozók visszajelzései alapján érthető és hasznos tutorialsorozatnak bizonyult, de ami most a lényeg, hogy szeretném tényleg beindítani az oldalt. Az oldal fejlesztése jelenlegi állapotában itt található:http://progtutorials.dsng.hu/ Mivel minőségét tényleg komolyan gondoltam már a domainrendelés is folyamatban van.

    Végülis a lényeg a lényeg, abban a reményben élesztem újra a témát, hogy találhassak egy-két illetőt ki ugyancsak jó ötletnek találja az oldalt és lenne energiája és ideje egy-két cikk formájában hozzájárulni a köz-jóhoz azon a pár cikkírón túl akiket még anno találtam. A közjó kifejezés komolyanvételének érdekében megjegyzem hogy az oldal non-profit jellegű, csak azért alapult hogy legyen egy hely ahol tényleg minden anyag megvan. Ezt egy olyan rendszer keretében szeretném felépíteni ahol az olvasók igényei és tanácsai alapján módosítják vagy bővítik a jelenlegi cikkeket. Ha eltaláljuk a megfelelő légkört szerintem könnyen egy jól látogatott, tényleg hasznos oldal kerekedhetne belőle...

    Érdeklődnék érdeklők iránt, s persze tanácsok és vélemények is nagyon fontosak lennének és nagyon megköszönném!

    (És ezt a pontot még megragadnám, hogy elnézést kérhessek attól a pár embertől akik a "halott" oldalon próbáltak kommunikálni velünk, és akik ott próbálták meg felajánlani segítségüket. Nagyon hálás vagyok ezért, s remélem még beszélgetek velük. Igény lenne minden segítségre...)

    by Kylerrr
    Mutasd a teljes hozzászólást!
  • Ha int T[10]; akkor T[5] == *(T+sizeof(int)*5) nem?

    Ami azt illeti nem. Csak akkor lenne igaz, ha
    sizeof(int) == 1
    . Esetleg akkor, ha
    *((int *) ( ((char *)T) + sizeof(int)*5))
    lenne. (Itt feltettem, hogy
    sizeof(char) == 1
    .) (Remélem nem szúrtam el a zárójeleket, vagy mást. :) Rég használtam C-t, így akár az egész rossz lehet...)
    A lényege az lenne, hogy a + a mutatók esetében attól függően tol el, hogy mekkora a mutató típusának mérete.
    Mutasd a teljes hozzászólást!
  • Ha int T[10]; akkor T[5] == *(T+sizeof(int)*5) nem? Ez alapján 5[T] == *(5+sizeof(T)*T); Ez sántít nekem...



    #include <stdio.h> void main() { int t[10] = { 0 }; 5[t] = 2; printf("%d\n", t[5]); }

    Próbáld ki, működik!
    Mutasd a teljes hozzászólást!
  • Ha int T[10]; akkor T[5] == *(T+sizeof(int)*5) nem? Ez alapján 5[T] == *(5+sizeof(T)*T); Ez sántít nekem...
    Mutasd a teljes hozzászólást!
  • Ez T[5]=42-vel akar megegyezni nem? Jobb ötletem nincsen, de nem értem... Hogy van ez?


    Az ugye köztudott, hogy igazából a C-ben nincs tömb, csak mutatók.
    Ha azt írom: T[5], akkor ezt a fordító *(T+5)-nek érti, függetlenül attól, hogy a két operandus mi. Innen már látszik, hogy mindegy, T[5]-öt, vagy 5[T]-t írunk.
    Mutasd a teljes hozzászólást!
  • Ez T[5]=42-vel akar megegyezni nem? Jobb ötletem nincsen, de nem értem... Hogy van ez?

    Mellesleg alakul a szerkesztőcsapat. Ahogy összejön teljesen a szerkesztőség, kiírom pontosan min fogunk dolgozni, és hogy alakulnak majd a dolgok a közeljövőben. Azért még ha valakinek lenne kedve beszállni, szívesen várom jelentkezését a birolorand@gmail.com-on!
    Mutasd a teljes hozzászólást!
  • Még egy érdekesség a C fejlődéséről: Mond még ma valamit nektek az, hogy "régi stílusú függvénydefiníció"?

    Könyvben találkoztam már ilyennel...
    Mutasd a teljes hozzászólást!
  • int T[13], i=5; i[T] = 42;

    Igen, egyszer majdnem feladtam ZH feladatnak, de mégis meggondoltam magam, ennyire nem lehetek szemét
    Mutasd a teljes hozzászólást!
  • Mond, sőt még ilyet is tudunk például:
    int f() { int T[13], i=5; i[T] = 42; return 0; }
    Mutasd a teljes hozzászólást!
  • kyleeer, majd olvass mail-t . várom válaszod.
    Mutasd a teljes hozzászólást!
  • "C-ben a blokkszerkezet szintaktikai szabályai szerint az összes deklaráció a blokk elején kell legyen és utánuk jöhetnek csak az utasítások."

    Nem az idézetre reagálnék, csak érdekességként: a C nyelv fejlődése a C++ nyelv fejlődésével sem állt meg. Sőt, egyre több nem OOP kiegészítés visszaszivárog a C-be. Nem feltétlenül a szabványra gondolok, hanem a fordítókra. Ezt én nem is tartom bajnak.

    Még egy érdekesség a C fejlődéséről: Mond még ma valamit nektek az, hogy "régi stílusú függvénydefiníció"? Példa:

    void foo( bar ) char bar; { /* etc. */ }
    Mutasd a teljes hozzászólást!
  • Én Operát használok. Egyébként tényleg király az oldalad. Tegnap délelött áltam neki a Cnek de tegnap estére már vágtam anyira a szintaktikát, hogy megírtam benne az összes alap programozái tételt. Ok nem nagy dolog de én magam is meglepödtem, hogy iylen hamar belejöttem a nyelvbe. Talán még is volt értelme még tavaly anyit C#ozni.
    Mutasd a teljes hozzászólást!
  • Az oldalról meg annyit, hogy úgy néz ki lesz egy 4 fős nyitó szerkesztőség. Szerintem 4-5 egyszerübb témakört kivesézünk és elkezdjük komolyabban toborozni a cikkírókat. Ahogy így elnéztem az utóbbi napok alakulását ígéretes az oldal jövője. Köszönöm mindenkinek a pozitív véleményét, sokat segített!

    (Amúgy mért nem mondta senki hogy Internet Exploreren rosszul jelennek meg az oldal gombjai? Itt tényleg mindenki Firefoxot használ? )

    Mellesleg mondatot nagy betüvel kezdünk...
    Mutasd a teljes hozzászólást!
  • basszus után vessző, tömt helyett tömött... :-p

    (az oldalhoz meg gratula, keep up the good work - ha angolul írom, talán nem találnak benne hibát :)
    Mutasd a teljes hozzászólást!
  • Basszus eltévedtem! Valami programozókkal tömt fórumon akartam nyitni ezt a témát. Bocsi...
    Mutasd a teljes hozzászólást!
  • linkként -> link-ként, mert idegen szó.


    egybe kell írni, mert ejtjük az utolsó betűjét a szónak. Mellesleg szerintem ma már tekinthetjük a magyar nylev szavának is azt a szót hogy link.

    Szám/személyt egyeztetni kellene! -> Számokat és személyeket...


    A helyes leírás: szám-személyt egyeztetni kellene.
    A szám-személy nem két külön szó, hanem két tagszóból képzett teljesen új jelentésű szó, mely nyelvtani technicus terminus. (najó ennek nem nlztem utána de sztem így van)
    Mutasd a teljes hozzászólást!
  • Valóban, elismerem, én is szoktam hibázni, köszönöm, hogy kijavítottad.
    "link-ként": ezt nem tudtam, hogy így kell írni, köszönöm a javítást!

    A mondatvégi pontról: van egy olyan rossz szokásom, hogy a smiley-kat mondatot lezáró írásjelnek tekintem, így általában nem teszek eléjük/mögéjük pontot. De maximálisan igazad van.

    További kellemes Progtutorials-olvasgatást!

    Üdv: PT
    Mutasd a teljes hozzászólást!
  • Ezt nem tudtam, köszönöm.
    Mutasd a teljes hozzászólást!
  • gcc -ansi -pedantic main.c

    Ez már nem engedi a sorrend felcserélését.
    Az csak gcc kiterjesztés, hogy deklarálni a blokk belsejében is lehet, a kiterjesztéseket letíltja a fenti két opció.
    Viszont Dev-C++ esetén az stdio.h-ban is szerepel gcc kiterjesztést használó kód, ezért ezekkel az opciókkal sajnos nem is fordul le a program. Vagyis Dev-C++-szal nem olyan egyszerű szabványos C fordítást kikényszeríteni...
    Mutasd a teljes hozzászólást!
  • Megzavarodtam!

    Én is úgy tudtam hogy C-ben mindent a blokkok elején kell deklarálni. (Ugyebár azért is írtam bele a leckébe.) A sorozat megírásához Dev-C++-t használtam úgy, hogy C-re állítottam a nyelvet. Valamiért a fordítót így sem zavarta a helytelen szintaktika. Azt hittem én vagyok a hülye...
    Mutasd a teljes hozzászólást!
  • Az szép, ha a helyesírási hibák javításával is elősegíted a minőség javítását, de ilyenkor kínosan ügyelni illene a saját hibáidra is .

    Ilyenekre például:

    megnééztem
    hoyg
    felémegyek -> fölémegyek
    linkként -> link-ként, mert idegen szó.
    küdjában
    Mmint hogy
    Szám/személyt egyeztetni kellene! -> Számokat és személyeket...
    jó alap hozzá csak -> jó alap hozzá, csak
    Legalább tizenegy helyen nem írtál pontot a mondat végére.
    Mutasd a teljes hozzászólást!
  • Azért, mert ez a kód C kódnak számít. C-ben a blokkszerkezet szintaktikai szabályai szerint az összes deklaráció a blokk elején kell legyen és utánuk jöhetnek csak az utasítások.
    C++-ban megengedett, hogy a blokkon belül az utasítások és deklarációk sorrendjét tetszőlegesen keverjük.

    Továbbá: ebben a kódban miért is kapnék hibaüzenetet, ha az x-et később deklarálnám?
    #include <stdio.h> int main() { int x; printf( "x valtozo deklaralasa eloszor" ); return 0; }
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd