dr. axel coon Posted October 5, 2008 Posted October 5, 2008 A while hiányzik? for (....... i++) { itt történnek a dolgok } {while (i==hanyszor) } A hanyszor változóba beírt számszor kéne lefutnia. Több ötletem már nincsen igazából, össze-vissza 2 órám volt eddig programozás (ezelőtt sosem csináltam), szóval minimális háttérismeretre hagyatkozhatom. Egyáltalán jól sejtem, hogy a feltétel azt jelenti, hányszor fut le a ciklus? Ha nem akkor mi az egészen pontosan a for után zárójelben? Szerk: még annyit hozzátennék, hogy az elején a i=0-t i=1-re módosítanám tehát For (i=1,i==hanyszor,i++) eztán meg a while
Gereby Posted October 5, 2008 Posted October 5, 2008 Igen látom nagy turmix van az agyadban. Sebaj majd alakul az. A while is egy ciklus, csak azt másra szoktuk használni. Hogyha visszaolvasod az elsõ válaszom, akkor láthatod a for ciklus definícióját, amiben le van írva, hogy melyik a feltétel. Azt kell módosítanod, mert az nem jó a programodban. Futtatsd le az agyadbana programot, figyeld a változókat, és a feltételeket. (Vedd figyelembe azt is, amit Balázs írt a for ciklusban, hogy a ciklusmag lefutása után növeli a ciklusváltozót.) Így biztosan rá fogsz jönni.
dr. axel coon Posted October 5, 2008 Posted October 5, 2008 Tehát végülis a For (i=1,i==hanyszor,i++) -ból azt mondod csak az "i==hanyszor" a nem jó?
payskin Posted October 5, 2008 Posted October 5, 2008 Hadd kérdezzem már meg, hogy melyik oktatási intézmény az, amelyik már megint ilyen iszonyúan hozzáértő módon nyúl a témához? Egyébként a fenti példád már jó (eltekintve attól, hogy pontosvesszővel választjuk el a dolgokat a for ciklus utáni zárójelben), de nem kezdem el magyarázni, mert szemlátomást azok az alapok sincsenek még meg, amikre a ciklus mint alap vezérlőszerkezet megtanítását építeni lehetne. Nem tudom, hogy azért, mert tényleg kutyaütő módon tanítanak ott, ahova jársz, vagy azért, mert nem figyeltél oda, a végeredmény szempontjából sajnos mindegy... A ciklusok oktatásának megvan a saját metodikája, és biztosan nem az az első lépés, egy ilyen relatíve pofonegyszerű, azonban egy kezdőnek nagyon is összetett feladatot kelljen megoldani. Mondjuk: írjuk ki 1-től 10-ig a számokat, aztán ugyanezt visszafelé, aztán kettesével, aztán kérjük be, hogy mettől meddig és hányasával, aztán ne csak kiírjuk őket, hanem csináljunk valamilyen műveletet is velük, és ha ez már mind megvan, és az ember kisujjból ír for ciklusokat, akkor lehet kezdeni bonyolítani.
dr. axel coon Posted October 5, 2008 Posted October 5, 2008 Tehát akkor az előbb leírt módon már jó lesz? Hát intézménynevet nem mondanék mert ki tudja ki olvassa rajtunk kívül, nem akarom, hogy azt mondják sz@rkeverő vagyok. Különben a legnagyobb gond nem a gyakorlati órával van, hanem avval, hogy nem adnak ki épkézláb jegyzeteket, amiből óra után szépen olvasgatva otthon leülepedhetnének az emberfiában az elhangzottak. Olyan kellene ami specifikusabban a tantárgy tematikájára épít és közérthetően magyaráz. Azt mondták az oktatók ez felesleges, a net tele van ilyesmivel. Én ezt másképp látom. Ne a diáknak kelljen már a tananyag után rohangálni és órákat eltölteni a keresgéléssel, netről összekapirgálással (lássuk be az holtidő a feladat megoldásakor). Na de mindegy, hosszú volna és OFF is úgyhogy elnézést kérek már ezért is. Köszönöm a segítséget! Majd néha benéznék ide hasonló kérdésekkel ha nem gond.
payskin Posted October 5, 2008 Posted October 5, 2008 óra után szépen olvasgatva otthon leülepedhetnének az emberfiában az elhangzottak Az oktatóknak részben igaza van, persze nem ártana azért megjelölni néhányat a neten található források közül, ha már hivatkoznak rájuk. Másrészt az elmúlt 20 évben rogyásig jelentek meg programozással, programozási nyelvekkel kapcsolatos könyvek. Harmadrészt, mi van az órán való odafigyeléssel és jegyzeteléssel? Én utoljára két éve voltam programozástanfolyáson (jó trágya is volt), de ettől a 3 hónapot végigjegyzeteltük derekasan... Ez hirtelen kiment a divatból? Negyedrészt a programozás nem "beseggelhető" tantárgy. Ez egy problémamegoldó gondolkodásmód, aminek persze van komoly elmélete, de működnie kell a fejedben és működnie kell a gyakorlatban is. Tehát csak jegyzetektől soha nem fogsz megtanulni programozni. Nagyon komolyan gyúrni kell a gyakorlatokra. Tehát nehéz ügy.
dr. axel coon Posted October 6, 2008 Posted October 6, 2008 Figyelek, is meg jegyzetelek természetesen másképpen nem is menne. Amit csak lehet leírok. A beseggelhetetlenséggel egyet értek. Sõt én magam nagyon is ellenzõje vagyok ennek a "módszernek"! Egy példatár kellene amit elõbb megoldok majd ellenõrzésképpen leírja a sarkalatos lépéseket, elmagyarázza mi miért van úgy ahogy. Hasonlóképpen egy gyakorlathoz. Majd megpróbálok keresni valamit. Úgy érzem a legnagyobb gond most sem a fejben való algoritmizálással volt nálam hanem avval, hogy ezt átültessem "C"-be a nyelv parancsainak sajátossága ismeretében. Én így érzem, javítsatok ki ha tévednék. ON
dr. axel coon Posted October 6, 2008 Posted October 6, 2008 Hello! Még annyit szeretnék kérdezni, hogy tizedestört változót milyen paranccsal deklarálhatok illetve olvastathatok be?
Fujitsu Posted October 6, 2008 Posted October 6, 2008 A floatra gondolsz? float x; ... scanf("%f",&x);
payskin Posted October 9, 2008 Posted October 9, 2008 Ha megoldottad a dolgot, tedd fel a megoldást, aztán beszélgethetünk róla. Vagy akár más egyszerűbb feladatokról, ha ez segít. Bár pont C/C++-ban nem vagyok annyira otthon, de legalább én is tanulok valamit.
vizesnyolcas Posted November 5, 2008 Posted November 5, 2008 Hali nekem egy olyan egyszerű problémám lenne hogy 2 programot ami c++-ban van át kéne írnom c-be! Ha esetleg tudna valaki egy átfordítót vagy ha nincs ilyen akkor majd beírom a programokat hát ha segít valaki. Előre is köszönöm.
arpsoft Posted November 5, 2008 Posted November 5, 2008 Ha objektum orientált, akkor felejtõs (illetve nehezebb), de azért dobd be a kódot, hátha.
dr. axel coon Posted November 16, 2008 Posted November 16, 2008 Sziasztok! Segítség kellene C-ben. A következõ programot kellene megírjam: Irj programot, az elso.dat fájl tartalmát a masodik.dat fájlba másolja azzal a változtatással, hogy a sorok fordított sorrendben szerepelnek. (Vigyázat, a karaktereknek az eredeti sorrendben kell maradnia!) Ki mit ajánlana?
Gereby Posted November 16, 2008 Posted November 16, 2008 Gondolom megadták a struktúrát. Csinálsz belõle egy tömböt. Megnyitod a file-t, beolvasod a tömbbe a cuccokat. Majd megnyitod a másik file-t, a tömböt hátulról visszaforgatod bele. És ennyi.
dr. axel coon Posted November 16, 2008 Posted November 16, 2008 Struktúra alatt azt érted, hogy az elérési utat ahol a tömb található? Nem adtak ilyet sajnos. Nagy kérés volna, hogy a forráskódot leírd? Nem a legszebb így tudom de már szinte mindent átgondoltam és nem jutok zöldágra vele. Az idő pedig sürget
arpsoft Posted November 16, 2008 Posted November 16, 2008 typedef struct tagSOR far* SOR; typedef struct tagSOR{ char far*szSor, SOR pNext; SOR pPrev; }SORPARAM; void Sorcsere(void) { // itt fogjuk tárolni a sorokat SOR PBASE=NULL,PEND=NULL,p=NULL; char egysor[1000]; // ez a fájlkezeléshez kell file *f1; // megnyitjuk a fájlokat f1=fopen("fájl1","rt"); if(f1) { while(!feof(f1)) { if(fgets(egysor,999,f1)) { if(PBASE==NULL) { PBASE=(SOR)farmalloc(SIZEOF(SORPARAM)); if(PBASE) { PBASE->szSor=(char far*)farmalloc(strlen(egysor)+1); if(PBASE->szSor) { strcpy(PBASE->szSor,egysor); PBASE->pNext=NULL; PBASE->pPrev=NULL; PEND=PBASE; } } } else { PEND->pNext=(SOR)farmalloc(SIZEOF(SORPARAM)); if(PEND->pNext) { PEND->pNext->szSor=(char far*)farmalloc(strlen(egysor)+1); if(PEND->pNext->szSor) { strcpy(PEND->pNext->szSor,egysor); PEND->pNext->pNext=NULL; PEND->pNext->pPrev=PEND; PEND=PEND->pNext; } } } } } fclose(f1); // felépítettük a kétirányba láncolt listát, most hátulról előre kiírjuk a másik fájlba f1=fopen("fájl1","w+t"); if(f1) { if(PEND) { p=PEND; while(p) { if(p->szSor) fputs(p->szSor,f1); if(p->pPrev) { p=p->pPrev; // felszabadítjuk a lefoglalt memóriát, amire nincs szükség farfree(p->pNext->szSor); PEND=p; farfree(p->pNext); } else { farfree(p->szSor); farfree(p); PEND=NULL; PBASE=NULL; p=NULL; } } } fclose(f1); } } } Részemről jobban szeretem a listákat, mint a tömböket.
dr. axel coon Posted November 16, 2008 Posted November 16, 2008 Köszi a segítséget, remélem sikerülni fog!
payskin Posted November 18, 2008 Posted November 18, 2008 Szép. Ezzel csak az az egyetlen gáz, ha ezt a feladatot éppen a tömbök témakör kapcsán adták házi feladatnak. Piszok nehéz lesz megmagyarázni, hogy miért egy nagyon szép, ám jóval bonyolultabb és sokkal mélyebb programozói tudás igénylõ megoldást sikerült választani.
arpsoft Posted November 18, 2008 Posted November 18, 2008 Lehet, de szerintem ez egyszerûbb, mint a realloc (mert ugye ki tudja, mekkora lesz a beolvasandó fájl) és a string tömbök használata.
zabox Posted November 20, 2008 Posted November 20, 2008 Szevasztok én tanulom még a programozást. Kellene nekem az hogy lehetséges e valahogy beolvasni és kiküldeni hexa számokat hálózati kártyán keresztül. Szóval kaptam egy olyan feladatot hogy vezérelnem kell egy gépet 2drb hexa értékkel. Az szernit hogy milyen 2drb hexa számot küldök ki attól függ hogy mit csinál a gép. A kérdésem hogy ilyet lehet e c++ ba??
arpsoft Posted November 20, 2008 Posted November 20, 2008 Milyen hálózati protokoll szerint? IPX / IP vagy valami egzotikusabb? Vagy netán soros portra gondoltál?
zabox Posted November 25, 2008 Posted November 25, 2008 A protokol nemszámít csak az a lényeg hogy a Lan kábelen 6os és az 5ös szálon kell hogy fusson a dolog a többi szál a kábelbe kihasználatlan. Nemtudom érted e amit hablatyolok de mint már mondtam igencsak kezdõ vagyok. De igyexem!
arpsoft Posted November 25, 2008 Posted November 25, 2008 Na, ilyen nincs. A LAN kábel alapesetben a hálózati kártyára csatlakozik. A hálókártya viszont nem tud csak úgy adatokat pakolni a drótra, azt meg is kell formázni, bele kell foglalni a megfelelő keretek közé. Ezt elvégzi a hardver, illetve a meghajtóprogram. Általában a kiküldendő adatot kell megadni a drivernek vagy egy még ennél is magasabb szintű eljárásnak. Szóval amit Te akarsz, az vagy nem hálózati adatforgalom, cask úgy néz ki a kábele (pl RS-485 fél duplexre bekötve), vagy valamilyen hálózati forgalom, csak Te nem értesültél a részletekről.
Dózsi Posted November 27, 2008 Posted November 27, 2008 Mostanában nem jártam erre felé, de most lenne egy kérdésem: C-ben a programom létrehoz egy fájlt több sorral. Hogy lehetne az egyik (általam kiválasztott) sort módosítani. FSEEK-kel próbáltam a pozicionálást, de amint a rövidebb sort hosszabbra cserélem, a következõ sorba is belenyúl (konkrétan kitöröl belõle elemeket), amit nem kéne. Van erre valami megoldás? A válaszokat elõre is köszönöm!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now