<div>Sziasztok!</div>
<div> </div>
<div>Ez az e-mail csak azoknak szól akiknek nem sikerült megérteni mi is az eheti házi.</div>
<div> </div>
<div>Bocsi, hogy csak az utolsó pillanatban írok. Páran mondták hogy nem igazán értik mi is az eheti házi.</div>
<div> </div>
<div>Először nagyvonalakban:</div>
<div> </div>
<div>
<div>ami a házikhoz kell: itt található meg: <a href="http://www.math.bme.hu/~prohlep/nagyprojekt/lines/">http://www.math.bme.hu/~prohlep/nagyprojekt/lines/</a></div></div>
<div> </div>
<div>1. házi: &quot;apro rendrakas&quot;</div>
<div>          amíg nincs semmi &quot;oldjuk meg&quot;, &quot;írjunk programot&quot;, stb addig tegyük csak amit ír</div>
<div>2. házi: &quot;apro kenyelmesitesek&quot;</div>
<div>          tök jó, a develop.sh használható úgy is (meg biztos ezekszerint máshogy is),</div>
<div>          érdemes bemásolni, de nem kötelező,</div>
<div>          sajnálom ha valakinek kifolyik a szeme a putty-tól, nekem szerencsére még nem</div>
<div>3. házi: &quot;Vector, typedef&quot;</div>
<div>          abban a file-ban tényleg használva van, ezenfelül a cplusplus.com-on megérthető a használatuk</div>
<div>          miután megértettük a file működését, ez mind világos lesz (ELBT = ELemi Bazis Transzformáció)</div>
<div>ezeken kívül a <a href="http://www.foofle.com/">google</a> a barátotok</div>
<div> </div>
<div>Kicsit részletesebben (ha valaki szeretne igazán megtanulni programozni és nem csak átmenni ezen a tárgyon, az jobb ha inkább csak a fenti segítségre hagyatkozik és a mellékelt file-t se nézi meg):</div>
<div> </div>
<div>1. házi: </div>
<div>  az első előadáson másoltuk ezeket a könyvtárakat valahova (valószinüleg egy info4 mappába vagy ilyesmibe), mennyünk be ide és hajtsuk végre ezeket a parancsokat</div>
<div>  ezzel mostmár a mi mappáink is úgy néznek majd ki mint Pröhle oldalán (lesz egy új mappánk és belemásolódik a sok példaprogram)</div>
<div>  az &quot;mkdir&quot; létrehozza az új könyvtárat, míg az &quot;mv&quot; (move) átrakja a megadott file-okat (minden raw kezdetűt a lines mappában) az új mappába</div>
<div> </div>
<div>2. házi: (ez nem egy feltétlen kötelező házi, de nagyon érdemes végigcsinálni)</div>
<div>  ezek valójában csak segítségek, nem kötelező elvégezni őket, a develop.sh egy kis okos shell script amivel könnyen fordítgathatunk meg írhatunk előtte a forrásba, kb olyan mint amit a 2. gyakon is csináltunk (hogy mire jó, hogy 99-től visszaszámol, azt nem tudom)</div>

<div>  ha be akarjátok másolni a cuccot amit ír, és nincs .emacs file-otok a root (~)-ban, hát hozzátok létre! (a . (pont)-ot ne felejtsétek el az elejéről)</div>
<div>  ezek után érdemes kipróbálni hogy tényleg működik-e, írjátok be a fordítandó file-ba a &quot;//// EditorMustJumpHere&quot; kommentet, és az emacs tényleg ide ugrik amikor lefuttatod a develop.sh-t</div>
<div>  a develop.sh-ról meg csak annyit még, hogy csak .cxx kiterjesztésű file-okat hajlandó lefordítani (ezt könnyű benne átírni, csak gondoltam szólok hátha valaki itt megakadna)</div>
<div>  a putty-os dologról csak annyit, hogy akit annyira zavar a putty kinézete, már régesrég tett róla szerintem hogy jobban nézzen ki, ezt bárki meg tudja csinálni (és nem is kötelező)</div>
<div> </div>
<div>3. házi:</div>
<div>  ez a lényegi házi a héten, leírom nagyvonalakban, hogy mi is az a typedef és mit hívunk programnyelvekben vektornak, de jobb volna ha megnéznétek ezeket a cplusplus.com-on ahol tök jó példák is vannak, és sokkal részletesebben le van írva minden róluk: <a href="http://www.cplusplus.com/reference/stl/vector/vector/">vector</a> <a href="http://www.cplusplus.com/doc/tutorial/other_data_types/">typedef</a></div>

<div>  typedef: a c++-ban (és amúgy a C-ben is) megengedett, hogy már létező típusokat újra elnevezzünk, és az eredeti nevük helyett így használjuk a kódunkban, pl az int-et elnevezhetnénk egesz-nek és innentőlkezdve azt írnánk hogy: &quot;egesz x;&quot;, ennél sokkal többet tud a typedef, de mi csak ezt fogjuk igazán használni most</div>

<div>  vector: ne úgy gondoljunk rá mint egy vektorra, inkább mint egy tömbre, ez egy bonyolultabb adatstruktúra, ami dinamikusan tud bővülni, azaz (elméletileg) akárhány értéket beletölthetünk, és csak annyi memóriát foglal le amennyi szükséges, tökéletes lesz az egyenletek tárolására</div>

<div>  miután megértettétek a program működését már egyértemű lesz hogy mire gondol a sorok és oszlopcentrikussággal, de ha mégsem, akkor szerintem annyi az egész hogy cseréljétek fel a változók és egyenletek elhelyezkedését a vektorban (ne ersz[egyenlet][változó] hanem ersz[változó][egyenlet] legyen), ha valaki kicsit mélyebb dologra gondolt, vagy úgy gondolja hogy nem ezt kéne tenni, írjon a listára, mert ez tényleg túlságosan egyszerűnek tűnik (persze kell hozzá hogy értsétek a program működését, így nem feltétlen triviális)</div>

<div>  ezen kívül csatoltam a lines_elbt_2.cxx file általam kommentezett változatát, ha nagyon muszáj olvassátok el azt is</div>
<div> </div>
<div>Kb ennyi lenne, ha bármit rosszul írtam volna, vagy kérdésetek lenne, ne habozzatok, írjatok nyugodtan!</div>
<div> </div>
<div>üdv,</div>
<div>Tofi</div>
<div> </div>
<div> </div>