A C++ programozási nyelvSoós Sándor 1/14 C++ programozási nyelv Gyakorlat - 10. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.

Slides:



Advertisements
Hasonló előadás
C++ programozási nyelv Gyakorlat hét
Advertisements

Programozás III KOLLEKCIÓK 2..
Kifejezések 2+3 Egy egyszerű kifejezés… © Pasztuhov Dániel, www.programozas-oktatas.hu.
Programozási Nyelvek (C++) Gyakorlat Gyak 03.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
6. előadás (2005. április 5.) Struktúrák Úniók Új adattípus definíálása Dinamikus memória foglalás 1.
7. előadás (2005. április 12.) Láncolt lista File kezelés 1.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.
Borland C/C++ mintapéldák fájlokra. 1. példa Írjon olyan programot,amely megnyit egy hw.txt fájlt és írja bele a Hello világ szöveget. Ez után zárja le.
Programozás I. Horváth Ernő.
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/17 C++ programozási nyelv Gyakorlat - 7. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 2. rész – Vezérlő szerkezetek
Java programozási nyelv 3. rész – Osztályok I.
A Java programozási nyelvSoós Sándor 1/4 Java programozási nyelv 12. rész – Képek kezelése Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 5. rész – Osztályok III.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Sorozatszámítás Specifikáció (a végleges) :  Bemenet:
„Országos” feladat. Feladat: Egy tetszőleges, színes országokat tartalmazó térképen akar eljutni egy kommandós csapat egy országból egy másikba. Viszont.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
További vektor, mátrix algoritmusok
Ficsor Lajos Template-ek CPP8/ 1 Template-ek. Ficsor Lajos Template-ek CPP8/ 2 A template fogalma Kiindulási probléma: tetszőleges típusokon kellene ugyanolyan.
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
AAO Csink László november.
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
A D programozási nyelv Angeli Dávid. Nagy vonalakban  C++  
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozási Paradigmák és Technikák Programozási eszközök Interfészek Generikus.
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozási Paradigmák és Technikák Programozási eszközök Interfészek Generikus.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 4. Gyakorlat Függvény paraméterek, dinamikus.
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
Egyenesvonalú (lineáris) adatszerkezetek
Objektum orientált programozás
1 Objektum orientált programozás Struktúrák és objektumok gyakorlat Nagy Szilvia.
Programozás I. Típus algoritmusok
Programozás III KOLLEKCIÓK.
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Objektumorientált alapjai ISZAM III.évf. részére Bunkóczi László.
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
Ficsor Lajos CPP2 / 1 Származtatási mechanizmus a C++ nyelvben Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
Típuskonverzió a C++ nyelvben
Ficsor Lajos Objektumok inicializálása CPP4 / 1 Objektumok inicializálása Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
Programtervezés, programozás I. 2.5 tömbök,stringek
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Programozás II. labor 2. rész (Adatszerkezetek)
LA C++ programozási nyelv Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 19./0. lRokonok, barátok lÚj műveletek hozzárendelése az.
A C++ programozási nyelv
Hernyák Zoltán Programozási Nyelvek II.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
3. osztályban.
Függvénysablonok használata
Előadás másolata:

A C++ programozási nyelvSoós Sándor 1/14 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor november

A C++ programozási nyelvSoós Sándor 2/14 Tartalomjegyzék ● Önhivatkozó struktúrák ● Beszúrás a listába ● Lista bejárása ● Lista bejárás függvénnyel ● Beszúrás a lista elejére függvénnyel ● Beszúrás függvénnyel javítva ● Lista megsemmisítése ● Lista megsemmisítése helyesen ● Listafej ● A lista egy másik megvalósítása ● Órai és házi feladat

A C++ programozási nyelvSoós Sándor 3/14 Önhivatkozó struktúrák class Valami { public: Valami( int Par ) { X = Par; Kovetkezo = NULL; } int X; Valami * Kovetkezo;// nem tulajdon }; ● Mindig készítsünk ábrát! X NULL X NULL

A C++ programozási nyelvSoós Sándor 4/14 Beszúrás a listába int main() { Valami *lista, *vp; lista = new Valami( 10 ); vp1 = new Valami( 20 ); // füzzük be vp1-et a lista elejére! vp1->Kovetkezo = lista; lista = vp1; } lista 20 NULL 20 NULL vp1 10 NULL 10 NULL lista 20 vp1 10 NULL 10 NULL lista 20 vp1 10 NULL 10 NULL Mi történik, ha felcseréljük a két utolsó sort? Mi történik, ha felcseréljük a két utolsó sort?

A C++ programozási nyelvSoós Sándor 5/14 Lista bejárása 1. megoldás: while (lista != NULL ) { printf( "%d ", lista->X ); lista = lista -> kovetkezo; }; 2. megoldás: vp1 = lista; while (vp1 != NULL ) { printf( "%d ", vp1->X ); vp1 = vp1 -> kovetkezo; }; ● Melyik hogyan működik? ● Melyik jó, melyik hibás?

A C++ programozási nyelvSoós Sándor 6/14 Lista bejárás függvénnyel void ListaKiiro( Valami* lista ) { while ( lista != NULL ) { printf( "%d ", lista->X ); lista = lista->Kovetkezo; }; printf("\n"); }; int main() { ListaKiiro( lista );// } ● Itt nem probléma a lista pointer elállítása?

A C++ programozási nyelvSoós Sándor 7/14 Beszúrás a lista elejére függvénnyel void ListaBeszuro( Valami* Lista, Valami* UjElem ) { UjElem->Kovetkezo = Lista; Lista = UjElem; }; int main() { Valami *lista, *vp1; lista = NULL; vp1 = new Valami( 30 ); ListaBeszuro( lista, vp1 ); vp1 = new Valami( 40 ); ListaBeszuro( lista, vp1 ); ListaKiiro( lista );// Mit ír ki? Miért? return 0; };

A C++ programozási nyelvSoós Sándor 8/14 Beszúrás függvénnyel javítva void ListaBeszuro( Valami*&Lista, Valami* UjElem ) ● A többi változatlan

A C++ programozási nyelvSoós Sándor 9/14 Lista megsemmisítése main()... while ( lista != NULL ) { delete lista lista = lista->Kovetkezo; }; ● Mit csinál ez a program? ● Miért?

A C++ programozási nyelvSoós Sándor 10/14 Lista megsemmisítése helyesen main()... while ( lista != NULL ) { vp1 = lista -> Kovetkezo; delete lista lista = vp1; }; ● Mit csinál ez a program?

A C++ programozási nyelvSoós Sándor 11/14 Listafej class ValamiLista { public: ValamiLista() { Lista = NULL; } ~ValamiLista(); Valami* Lista;// tulajdon } ValamiLista::~ValamiLista() { Valami* vp; while( Lista != NULL ) { vp = Lista -> Kovetkezo; delete Lista; Lista = vp; } };

A C++ programozási nyelvSoós Sándor 12/14 Listafej, folyt. ● Mi legyen a korábban megírt függvényekkel? ● Tegyük a Lista osztály tagfüggvényeivé! ● Miért jó, ha osztályba tesszük a listát? – biztos nem keveredik össze a lista fej más pointerekkel. – további segédinformációkat tárolhatok a listáról, pl. elemszám, átlagérték. – adatelrejtés – szabadon módosíthatom a belső ábrázolást – összefogjuk az összetartozó dolgokat

A C++ programozási nyelvSoós Sándor 13/14 A lista egy másik megvalósítása ● Statikus lista: int tomb[100], n class IntLista1 { public: int Tomb[100]; int elemszam; }; ● Milyen előnyei és hátrányai vannak a kétféle megoldásnak?

A C++ programozási nyelvSoós Sándor 14/14 Órai és házi feladat ● Készítsünk egy dinamikus Lista osztályt! ● Pontosítjuk a specifikációt a gyakorlaton és a laboron.