Kovács Dávid ( Davs ) Posted November 6, 2005 Posted November 6, 2005 Hy! Ide lehetne akkor szerintem feladni a feladatokat, és a Hogyan tanuljunk programozni c. topicból ezeket a hozzászólásokat át lehetne hozni.
csutomi Posted November 6, 2005 Posted November 6, 2005 Van egy feladat, ami nekem nagyon tetszett: Fájlmásolás bájtonként úgy, hogy miközben másolunk, két zárójel között vizuálisan is lássuk, hogy körülbelül hol tart a másolás. Például Két zárójel van egymástól 10 karakternyi távolságra, majd ahogy eléri a másolás a 10%-ot, a zárójel utáni elsõ pozícióba bekerül egy = jel, majd 20% után a másodikba is egy = jel és így tovább. Valahogy így fog kinézni: az elején: ( ) a közepén: (===== ) a végén: (==========) Nagyon hasznos, különösen nagyobb fájlok esetén.
Kovács Dávid ( Davs ) Posted November 6, 2005 Author Posted November 6, 2005 Hááát...Filekezelést nem nagyon tudom c++-ban. De talán elméletileg: megszámolom, menyi karakter van a fileban, elosztom tízzel, és ha azt a tizedet átmásolta, akkor hozzáadok egy = jelet. Ezt kb. úgy, hogy kitörlöm az egész két zárójelet, és újraírom. És pl. egy változó tárolná, hogy hány jel kell. De majd ha eljutok a filekezelésig, akkor talán.
Adani Posted November 6, 2005 Posted November 6, 2005 Minden programozási könyv elsõ feladata, a szöveg kiíratás. Majdnem mindne szakirodalombna szerpeel az abszolút kezdõknél, hogy irassuk ki, hogy " Hello world" C-ben ez nem nehéz dolog: Void main() { Printf("Hello World"); } Pascalban ugyanez: BEGIN Writeln("Hello World"); END
Gereby Posted November 6, 2005 Posted November 6, 2005 Én is bedobnék ide egy két feladatot. Programozásórán csináltuk ezeket C-ben. 1. Táblázatrajzoló (For ciklus gyakorlására) A prog. a futás elején bekéri, hogy milyen széles és milyen magas legyen a cella, majd ASCII kódok alapján kiír egy 2X2-es táblázatot a beadott adatok alapján. Ennek fokozása: Megkérdezi, hogy hány cella legyen függõlegesen, és vízszintesen. 2. Szummázó (Do-while) A prg. folyamatosan kéri a számokat, és kiírja, hogy hanyadik számot olvassa be. Ha 0-át ütünk be, abba hagyja a bekérést, majd kiírja, hogy hány számot adtunk be, és a beadott számok összegét kidobja. 3. Átlag (tömbök) Van egy osztály, amelyik írt két dolgozatot. A két dolgozat pontjait összeadva osztályoz a tanár. (max. 100pont) A prog. elõsször bekéri, hogy hány tanuló van az osztályban, majd beolvassa az 1. dolgozat pontszámait, majd a 2. dolgozat pontszámait tanulónként (1. tanuló 1. dolgozatának pontszáma:, 2. tanuló 1. dolgozatának pontszáma:...) Mikor ez megvan, a prog. kiszámolja a dolgozatok pontszámainak átlagát, összeadja a 2 dolgozat pontszámait, az összpontszámokból kiszámolja a tanuló jegyét valamilyen pontrendszer szerint (pl: 100-90 5, 89-79 4, 78-58 3, 57-20 2, 19-0 1), a jegyekbõl is átlagot von, majd kiszámolja a tanuló szórását (átlagtól való eltérését) a jegyek alapján. Majd mikor mind ez ki van számolva, valami szép, áttekinthetõ, érthetõ formában kiírja. Nos hát ennyi egyenlõre. Jó munkát!
Kovács Dávid ( Davs ) Posted November 6, 2005 Author Posted November 6, 2005 Hy! A cella magasságán/szélességén mit értesz? Pixelben? A 2. kész, most csinálom a 3.-at. 2. Feladat CPP EXE
Gereby Posted November 6, 2005 Posted November 6, 2005 Karakterben! Nem rajzolás hanem kiíratás. Az ASCII kódtáblázatban vannak olyan karakterek, amelyekkel táblázatot lehet csinálni.
Kovács Dávid ( Davs ) Posted November 6, 2005 Author Posted November 6, 2005 |****|****| |****|****| Ilyen? És mit kell belé írni? Semmit? Szóköz jó? A magasságot mivel kell? Vagy a sorok között kell egy \n . Már nem aktuális, mert megvan az elsõ: CPP EXE
Gereby Posted November 6, 2005 Posted November 6, 2005 (edited) Nem olyan! Itt az ASCII kódtábla. A 180-as megy a 200-as elemekt nézegesd! Azok ilyen csíkok. na azokból lehet. A prog pedig így néz ki: Bekéri a két adatot, majd megcsinálja a táblázat tetejét: Elõsször printf ╔ (201-es ascii) aztán for ciklus annyiszor fut amilyen szélesnek megadtuk a cellákat a magjában: printf ═ majd a közép elem, majd megin forciklos, majd lezáró elem, \n. Itt jön a magasság: itt egymásba ágyazott for ciklusokat alkalmazunk. Az egész annyiszor fut amilyen magasnak adtuk. Az alap for cikluson belül meg: oldalelem, for szóköz annyiszor amilyen széles a cucc, középelem, for, oldalelem,\n. Alap for vége. És így tovább. Mostmár menni fog. Egyébként én Borland C-t tanulok, magyarul én nem értem a Te forráskódodat... UI: Most látom, hogy elkészültél, de hát hogymondjam, nem az igazi... nállam valami igen érdekes táblázatot adott ki. Próbáld úgy, ahogy én írtam! UI2: printf=cout... Edited November 6, 2005 by Gereby
Kovács Dávid ( Davs ) Posted November 6, 2005 Author Posted November 6, 2005 Akkor csak ellenõrizd az exe-t Ja, és ezeket a speciális karaktereket hogyan írjam ki? Mint rendes karakter, nem? Akkor meg kérlek másold ide a szükségeseket. A sorok között hagytam ki egy sort, hogy látható legyen, hogy egy cella milyen magas. A függõleges vonalok pedig a cellák határai. Egy cella 2 ilyennel rendelkezik, egy bal, egy meg jobb oldalon van. Na és akkor most még egyszer futtasd le!
Gereby Posted November 6, 2005 Posted November 6, 2005 Nyomod az alt-ot és a numpadon meg bepötyögöd a számát. VAGY (nemtudom, hogy a Te C-d ben ugyan így van-e vagy sem de azért leírom) A kiíratásban a karakter helyére %c-t írsz (karakter kiíratási forma) aztán a " után egy vesszõ, és az ascii kód.
Kovács Dávid ( Davs ) Posted November 6, 2005 Author Posted November 6, 2005 A második nem jó, de az elsõ igen. Köszi. Akkor majd átírom. Talán majd csak holnap, mert mára már kb. ennyi is elég. Volt a szorzótábla, meg a Te 2 feladatod...
Kovács Dávid ( Davs ) Posted November 6, 2005 Author Posted November 6, 2005 De azok a speciális karakterek nem ANSI-k, és akkor már baja van a \n -nel is. Szal vagy ANSI vagy Unicode, vagy ASCII. Tehát ez nem megy C++-ban. Inkább megvárjuk Arpsoftot, õ biztos tudja. Megünk a 3. feladatra, és mára vége.
csutomi Posted November 6, 2005 Posted November 6, 2005 C-ben ez nem nehéz dolog: Void main() { Printf("Hello World"); } Húha, most elkövetted a legkezdõbb kezdõ C programozó hibáját! A C-ben a kis és nagybetûnek jelentõsége van. Ebbõl is látszik, hogy még egy ilyen egyszerû programot is meg lehet írni hibásan. (Ezért kell sokat gyakorolni) Még valami: kimaradt az #include <stdio.h> @Davs: A 852-es kódlap a magyar, ezenkívül a 32 alattiakat azért nem tudod kiírni simán, mert azok vezérlõ karakterek. Benne van pl. az ENTER kódja is.
Kovács Dávid ( Davs ) Posted November 6, 2005 Author Posted November 6, 2005 @csutomi Ezt a kódlapos izét elmagyaráznád? @Gereby Van az utolsó feladat. Ott külön ki kell írni a dogák átlagát, vagy csak az egészét kell? A Hello World-ös dologhoz: HTML: <html> <body> Hello World </body> </html> PHP: <?php print "Hello World" ; ?> Python: print "Hello World!" C++: #include <iostream> void main() { cout<<"Hello World!" ; } Kb. ennyit ismerek.
csutomi Posted November 6, 2005 Posted November 6, 2005 Ezt a kódlapos izét elmagyaráznád? Minden országban más kódlapot használnak a betûk megjelenítéséhez. Gondold el, hogy például egy orosz szöveget nem lehet azokkal a karakterekkel leírni, mint egy magyart. A miénk, vagyis a magyar a 852-es (DOS alatt). És persze ez változhat például akkor is, ha Windowst használsz, mert ott is más karakterek jelennek meg. Nálunk az ékezetes betûknél szokott ez gondot jelenteni. Én így tudom.
Gereby Posted November 6, 2005 Posted November 6, 2005 @Davs: Az 1. doga pontszámainak átlaga, a 2. doga pontszámainak átlaga, a tanulók 2 dogájának pontszáma alapján létrejött jegyek átlaga.
atzs Posted November 7, 2005 Posted November 7, 2005 Írd ki az elsõ n Fibonacci-számot. Írd ki az n. (n-edik) Fibonacci számot. Fibonacci számok: Az elsõ 0, a második 1, a többi mindig az elõzõ kettõ összege. (0 1 1 2 3 5 8 13 21 34 ...) Írd ki a Pascal-háromszög n. sorát.
Kovács Dávid ( Davs ) Posted November 7, 2005 Author Posted November 7, 2005 Gereby: Megvan a 3. is, de nem a szépség a fõ ismérvem CPP EXE atzs: Mi az a Pascal háromszög? Az elsõt meg kb. tudom.
Kovács Dávid ( Davs ) Posted November 7, 2005 Author Posted November 7, 2005 atzs: Megvan a Fibonacci-s: CPP EXE Ja, és már megtudtam, hogy mi az a Pascal háromszög: Pascal-háromszög Hááát...Nem lesz könnyû, de holnap majd megpróbálom összehozni.
Greene Posted November 7, 2005 Posted November 7, 2005 Srácok, olyanban kérném a segítségeteket, hogy kell a suliban írnom egy programot Pascal nyelven, ami egy bizonyos tulajdonságot vizsgál meg egy sorozatban. Én egy "array [1..100] of integer" tömböt szeretnék feltölteni, 1-256-ig random számokkal. Ebben a tömbben aztán minden olyan számot keresek, ami 17-tel osztható. Ezeknek a számoknak kellene az indexe, és a szám maga, valamint egy teljes tömbszintû felsorolásban meg is szeretném jelölni melyek ezek a számok (az is elég ha egy csillag van utána). Hát ebben kérném a segítségeteket. Elõre is köszi.
arpsoft Posted November 7, 2005 Posted November 7, 2005 Lehet, hogy vannak benne hibák, elég régen használtam a Pascal-t. uses crt; var i,iTomb[101] :integer; begin //feltöltjük a tömböt randomize; for i:=1 to 100 do begin iTomb[i]:=random(255)+1; end; //ami osztható 17-tel (oszási maradéka 0), annak kiírjuk az indexét és az értékét for i:=1 to 100 do begin if iTomb[i] mod 17 =0 then begin writeln("Index: ",i," Érték:",iTomb[i]); end; end; //ami osztható 17-tel (oszási maradéka 0), oda írunk csillagot,különben nem for i:=1 to 100 do begin if iTomb[i] mod 17 =0 then begin writeln(i,iTomb[i],"*"); end else begin writeln(i,iTomb[i]); end; end; end.
atzs Posted November 8, 2005 Posted November 8, 2005 Anno a Delphi topicban volt egy megegyezésünk, hogy nem oldunk meg senki helyett házi feladatot.
Greene Posted November 8, 2005 Posted November 8, 2005 @Arpsoft: Köszi! @atzs: Sajnos én nagyon nem értek a Pascal-hoz (csak minimális szinten), és arra gondoltam ha már egyszer segélyvonal, akkor én olyanban kérek segítséget amit speciel én nem tudok (tehát nem lustaságból kértem segítséget!). Elnézést, ha tényleg volt egy ilyen megállapodás, akkor többet nem kérdezek ilyet.
atzs Posted November 9, 2005 Posted November 9, 2005 Ha belegondolsz, az nem célja a fórumnak, hogy komplett beadandó házikat itt bárki megcsináltasson a közösséggel. Nehéz persze meghúzni a határvonalat. A legjobb lenne megtalálni az egyensúlyt - segíteni annyit, hogy a kedves kolléga utána már meg tudja önállóan oldani a feladatot. A másik oldala a dolognak, hogy itt van egy közösség is, amelynek Te pl. oszlopos tagja vagy, és a barátaidtól miért ne kérhetnél segítséget? Örülök, hogy arpsoft tudott is épp segíteni. Az a leghasznosabb szerintem, ha megpróbálod megcsinálni, és ha elakadsz, akkor kérsz a kritikus ponton segítséget.
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