Commit e71f8431 by Szeberényi Imre

README mód

parents cc402edb 4ae8e282
...@@ -2,17 +2,17 @@ Ebben a feladatban 3 függvényt és egy sablont kell elkészítenie a specifik ...@@ -2,17 +2,17 @@ Ebben a feladatban 3 függvényt és egy sablont kell elkészítenie a specifik
Töltse le a feladathoz előkészített teljes könyvtárat a tantárgy Git tárolójából git kliens használatával, vagy akár Töltse le a feladathoz előkészített teljes könyvtárat a tantárgy Git tárolójából git kliens használatával, vagy akár
más eszközzel a [https://git.ik.bme.hu/Prog2/ell_feladat/Nem_OO](https://git.ik.bme.hu/Prog2/ell_feladat/Nem_OO) címről! más eszközzel a [https://git.ik.bme.hu/Prog2/ell_feladat/Nem_OO](https://git.ik.bme.hu/Prog2/ell_feladat/Nem_OO) címről!
*Feladatok:* **Feladatok:**
1. Valósítsa meg a _nem\_oo.h_ állományban deklarált függvényeket (_atoi()_, _strcat()_, _unique()_), melyek hasonlóan működnek, mint az azonos nevű szabványos függvények, de nem pontosan ugyanúgy. A függvények paramétereit és elvárt működését a _nem\_oo.h_ fájlban adtuk meg. 1. Valósítsa meg a _nem\_oo.h_ állományban deklarált függvényeket (_atoi()_, _strcat()_, _unique()_), melyek hasonlóan működnek, mint az azonos nevű szabványos függvények, de nem pontosan ugyanúgy. A függvények paramétereit és elvárt működését a _nem\_oo.h_ fájlban adtuk meg.
2. A _max.hpp_ fájlban valósítson meg a _Sajat_ névtéren belül egy olyan sablont, ami alaptípusok esetén a paraméterként kapott érték közül a nagyobbat adja. 2. A _max.hpp_ fájlban valósítson meg a _sajat_ névtéren belül egy olyan sablont, ami alaptípusok esetén a paraméterként kapott érték közül a nagyobbat adja.
3. Specializálja a sablont a _nem\_oo.h_ állományban deklarált _Sajat::Komplex_ típusra úgy, hogy a nagyobb abszolút értékű Komplex számot adja vissza! Az abszolút érték kiszámításához használhatja a _Sajat_ névtérben definiált _absKomplex_ inline függvényt. 3. Specializálja a sablont a _nem\_oo.h_ állományban deklarált _sajat::Komplex_ típusra úgy, hogy a nagyobb abszolút értékű Komplex számot adja vissza! Az abszolút érték kiszámításához használhatja a _sajat_ névtérben definiált _absKomplex_ inline függvényt.
4. Ellenőrizze a megvalósított függvények és sablonok működését a _nem\_oo\_test.cpp_ tesztprogrammal! 4. Ellenőrizze a megvalósított függvények és sablonok működését a _nem\_oo\_test.cpp_ tesztprogrammal!
Csak az elkészített **nem\_oo.cpp** és **max.hpp** fájlokat kell feltöltenie a portálra. Csak az elkészített **nem\_oo.cpp** és **max.hpp** fájlokat kell feltöltenie a portálra.
A _memtrace.h_ és _memtrace.cpp_ fájlok a memóriakezelés teszteléséhez szükségesek. Nem kell megértenie a működésüket! A _memtrace.h_ és _memtrace.cpp_ fájlok a memóriakezelés teszteléséhez szükségesek. Nem kell megértenie a működésüket!
*Javaslat:* **Javaslat:**
- Fontos, hogy a megvalósítandó függvényeket a megfelelő **névtérben** definiálja. - Fontos, hogy a megvalósítandó függvényeket a megfelelő **névtérben** definiálja.
- Az _atoi()_ megvalósításakor ügyeljen arra, hogy csak helyes számot fogadjon el! - Az _atoi()_ megvalósításakor ügyeljen arra, hogy csak helyes számot fogadjon el!
...@@ -21,8 +21,12 @@ A _memtrace.h_ és _memtrace.cpp_ fájlok a memóriakezelés teszteléséhez sz ...@@ -21,8 +21,12 @@ A _memtrace.h_ és _memtrace.cpp_ fájlok a memóriakezelés teszteléséhez sz
- **Hiba** esetén dobjon **const char\*** típusú kivételt, melynek értéke az Ön **Neptun azonosítója** legyen! - **Hiba** esetén dobjon **const char\*** típusú kivételt, melynek értéke az Ön **Neptun azonosítója** legyen!
- Használja a [Horner-elrendezést](https://hu.wikipedia.org/wiki/Polinom) a szám (polinom helyettesítési) - Használja a [Horner-elrendezést](https://hu.wikipedia.org/wiki/Polinom) a szám (polinom helyettesítési)
értékének kiszámításához. Így elkerülheti a pow() használatát és n db szorzással és összeadással kiszámíthatja az értéket! értékének kiszámításához. Így elkerülheti a pow() használatát és n db szorzással és összeadással kiszámíthatja az értéket!
Például a decimális 346=((0\*10+3)\*10)+4)\*10+6, de a 3467=346\*10+7, azaz csak egy szorzással és egy összeadással több, és nem kellett tudni előre számjegek számát sem.
- Először mindenképpen oldja meg a feladatot a saját környezetében. A Jporta pontosan ugyanazt a tesztprogramot futtatja, amit letöltött a Git tárolóból. Egyedüli különbség, hogy a CPORTA makró definiált.
- ELképzelhető olyan durva memóriahiba, amit az operációs rendszer csíp meg. Ilyenkor a Jportán 11-es megállási státus jelenik meg, ami azt jelenti, hogy a program illegális memóriaműveletet próbált végezni, amit az OS azonnali megállítással jutalmazott.
- Ügyeljen arra, hogy a **using namespace valami;** azt teszi lehetővé, hogy scope operator használata nélkül is elérhetjük a valami névtér neveit, de ez nem jelenti azt, hogy mostantól minden definició a valami névtérben keletkezik!
*Szorgalmi feladat:* **Szorgalmi feladat:**
Ha a SZORGALMI makró definiálva van, akkor meghívódik az _ekezetes\_io()_ függvény. Ha a SZORGALMI makró definiálva van, akkor meghívódik az _ekezetes\_io()_ függvény.
Ez egy lehetőséget mutat az ékezetes karakterek C++ kódból való kiírására/kezelésére. Ez egy lehetőséget mutat az ékezetes karakterek C++ kódból való kiírására/kezelésére.
...@@ -41,5 +45,5 @@ megfelelő osztályok használatával. ...@@ -41,5 +45,5 @@ megfelelő osztályok használatával.
1. Megnyitás notepad++ segítségével, mentés a kívánt kódolással. 1. Megnyitás notepad++ segítségével, mentés a kívánt kódolással.
2. CodeBlocks editorával: Edit->File encoding. 2. CodeBlocks editorával: Edit->File encoding.
3. Visual Studio: File -> Save as -> Save gombon megjelenő lefelé mutató nyíl megnyomásával a megfelelő kódolás kiválasztása. 3. Visual Studio: File -> Save as -> Save gombon megjelenő lefelé mutató nyíl megnyomásával a megfelelő kódolás kiválasztása.
4. [iconv](https://www.gnu.org/software/libiconv) konverter használata. 4. [iconv](https://www.gnu.org/software/libiconv)konverter használata.
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment