Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r
|
|
- Klára Kozmané
- 5 évvel ezelőtt
- Látták:
Átírás
1 Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r április 4.
2 Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a rendezend adatokat! (Adatbevitelnek vége negatív adatra.) Nem adhat meg több számot, mint a tömb elemszáma! Problémák: Fordítási id ben tudni kellene a rendezend adatok számát Túl kicsi tömb nem férnek el az adatok Túl nagy tömb pazaroljuk a memóriát Inkább nagyobb legyen a tömb, mint túl kicsi!
3 Számok rendezése Kimenet1 Adjon meg nemnegativ szamokat! 1. szam: 2 2. szam: 4 3. szam: 1 4. szam: 3 5. szam: -1 Rendezes utan: Kimenet2 Adjon meg nemnegativ szamokat! 1. szam: 5 2. szam: 4 3. szam: 3 4. szam: 2 5. szam: 1 Rendezes utan:
4 Számok rendezése 3 #d e f i n e OSSZES 5 37 i n t main ( ) { 38 i n t h a s z n a l ; // E n n y i e l e m e t h a s z n a l u n k eppen 39 i n t szamok [ OSSZES ] ; 40 c o u t << " Adjon meg n e m n e g a t i v szamokat! \ n" ; 41 b e o l v a s ( szamok, &h a s z n a l ) ; 42 b u b o r e k ( szamok, h a s z n a l ) ; 43 c o u t << " R endezes utan : \ n" ; 44 t o m b K i i r ( szamok, h a s z n a l ) ; 45 r e t u r n 0 ; 46 }
5 Számok rendezése 5 v o i d b e o l v a s ( i n t szamok, i n t h a s z n a l ) { 6 i n t u j ; 7 h a s z n a l = 0 ; 8 do { 9 c o u t << h a s z n a l + 1 << ". szam : " ; 10 c i n >> u j ; 11 i f ( uj >=0 and h a s z n a l <OSSZES) { 12 ( szamok + h a s z n a l ) = u j ; 13 ( h a s z n a l )++; 14 } 15 } w h i l e ( uj >=0 and h a s z n a l <OSSZES ) ; 16 }
6 Dinamikus memóriakezelés Dinamikus memóriakezelés A programozó dönt a dinamikus változók élettartamáról Memória foglalás: new operátorral Visszaadott mutató típusa: mindig megfelel, nincs szükség típuskényszerítésre Sikertelen memóriafoglalás esetén NULL értéket kapunk ellen rizni kell Terület felszabadítása: delete Ugyanaz a terület nem szabadítható fel többször NULL mutató felszabadítása nem okoz gondot
7 Dinamikus memóriakezelés 5 char pc ; // d e k l a r a c i o k 6 i n t p i ; 7 double pd ; 8 9 pc = new char ; // m e m o r i a f o g l a l a s o k 10 p i = new i n t ; 11 pd = new double ; i f ( pc == NULL) { // e l l e n o r z e s 14 c e r r << " S i k e r t e l e n m e m o r i a f o g l a l a s! \ n" ; 15 r e t u r n 1 ; 16 }
8 Dinamikus memóriakezelés 18 pc = 'X ' ; // e r t e k a d a s o k 19 p i = 4 2 ; 20 pd = ; d e l e t e pc ; // memoria f e l s z a b a d i t a s 23 d e l e t e p i ; 24 d e l e t e pd ; A lefoglalt terület inicializálható 9 pc = new char ( 'X ' ) ; // m e m o r i a f o g l a l a s o k 10 p i = new i n t ( 4 2 ) ; // i n i c i a l i z a c i o k 11 pd = new double ( ) ;
9 Dinamikus memóriakezelés Struktúráknak is foglalható memória dinamikusan, amit akár inicializáció is követhet 4 s t r u c t h a l l g a t o { 5 s t r i n g nev ; 6 i n t e l e t k o r ; 7 } ; 10 h a l l g a t o h = { " G i z i ", 19 } ; // L o k a l i s v a l t o z o 11 h a l l g a t o ph1 = new h a l l g a t o ; // Memoria f o g l a l a s 12 ph1 >nev = " Mari " ; // E r t e k a d a s o k 13 ph1 >e l e t k o r = 2 0 ; 14 // Mar l e z e t o s t r u k t u r a v a l i n i c i a l i z a l h a t o 15 h a l l g a t o ph2 = new h a l l g a t o ( h ) ; 16 h a l l g a t o ph3 = new h a l l g a t o ( ph1 ) ; 17 h a l l g a t o ph4 = new h a l l g a t o { " L i l i ", 21 } ; // C++11
10 Dinamikus memóriakezelés Tömböknek is lehet dinamikusan memóriát foglalni 7 c h a r pc = new c h a r [ 1 0 ] ; // Tomb f o g l a l a s a 8 // F u t a s i d o b e n k i s z a m o l t meret sem okoz gondot 9 s r a n d ( t i m e (NULL ) ) ; 10 i n t p i = new i n t [ rand ( ) % 5 0 ] ; 11 d o u b l e pd = new d o u b l e [ ] ; // B e e p i t e t t t i p u s o k b o l a l l o tomb 14 // nem i n i c i a l i z a l h a t o : ( d e l e t e [ ] pc ; // F e l s z a b a d i t a s 17 d e l e t e [ ] p i ; 18 d e l e t e [ ] pd ;
11 Számok rendezése 37 i n t main ( ) { 38 i n t h a s z n a l ; // E n n y i e l e m e t h a s z n a l u n k eppen 39 i n t szamok = new i n t [ OSSZES ] ; 40 c o u t << " Adjon meg n e m n e g a t i v szamokat! \ n" ; 41 b e o l v a s ( szamok, &h a s z n a l ) ; 42 b u b o r e k ( szamok, h a s z n a l ) ; 43 c o u t << " R endezes utan : \ n" ; 44 t o m b K i i r ( szamok, h a s z n a l ) ; 45 d e l e t e [ ] szamok ; 46 r e t u r n 0 ; 47 }
12 Számok rendezése Megjegyzések Javaslat A megoldás nem használta ki, hogy futásid ben is eldönthet a tömb elemszáma A lefoglalt terület felszabadítható, másik is foglalható Foglaljunk valamennyi memóriát a program indulásakor, majd ha elfogyott, mindig növeljük a területet a duplájára! Régi adatokat át kell mozgatni az új helyükre
13 Számok rendezése 49 i n t main ( ) { 50 i n t h a s z n a l ; // E n n y i e l e m e t h a s z n a l u n k eppen 51 i n t szamok ; // Tomb cime 52 c o u t << " Adjon meg n e m n e g a t i v szamokat! \ n" ; 53 szamok = b e o l v a s (& h a s z n a l ) ; 54 b u b o r e k ( szamok, h a s z n a l ) ; 55 c o u t << " R endezes utan : \ n" ; 56 t o m b K i i r ( szamok, h a s z n a l ) ; 57 d e l e t e [ ] szamok ; 58 r e t u r n 0 ; 59 }
14 Számok rendezése 4 i n t b e o l v a s ( i n t h a s z n a l ) { 5 i n t uj, o s s z e s = 1 ; 6 i n t szamok = new i n t [ o s s z e s ] ; 7 h a s z n a l = 0 ; 8 do { 9 c e r r << "\ t [ F e l h a s z n a l v a : " << h a s z n a l 10 << ", tombelemek szama : " << o s s z e s << " ] \ n" ; 11 c o u t << h a s z n a l + 1 << ". szam : " ; c i n >> u j ; 12 i f ( u j >= 0) { 13 i f ( h a s z n a l == o s s z e s ) { 14 c e r r << "\ t [ M e m o r i a f o g l a l a s + mozgatas ] \ n" ; 15 o s s z e s = 2 ; 16 i n t szamok2 = new i n t [ o s s z e s ] ; 17 f o r ( i n t i =0; i < h a s z n a l ; i ++) { 18 szamok2 [ i ] = szamok [ i ] ; 19 }
15 Számok rendezése 20 d e l e t e [ ] szamok ; 21 szamok = szamok2 ; 22 } 23 szamok [ h a s z n a l ] = u j ; 24 ( h a s z n a l )++; 25 } 26 } w h i l e ( u j >= 0 ) ; 27 r e t u r n szamok ; 28 }
16 Számok rendezése Kimenet Adjon meg nemnegativ szamokat! [Felhasznalva: 0, tombelemek szama: 1] 1. szam: 9 [Felhasznalva: 1, tombelemek szama: 1] 2. szam: 8 [Memoriafoglalas + mozgatas] [Felhasznalva: 2, tombelemek szama: 2] 3. szam: 7 [Memoriafoglalas + mozgatas] [Felhasznalva: 3, tombelemek szama: 4] 4. szam: 6 [Felhasznalva: 4, tombelemek szama: 4] 5. szam: 5 [Memoriafoglalas + mozgatas] [Felhasznalva: 5, tombelemek szama: 8] 6. szam: 4 [Felhasznalva: 6, tombelemek szama: 8] 7. szam: 3 [Felhasznalva: 7, tombelemek szama: 8] 8. szam: 2 [Felhasznalva: 8, tombelemek szama: 8] 9. szam: 1 [Memoriafoglalas + mozgatas] [Felhasznalva: 9, tombelemek szama: 16] 10. szam: 0 [Felhasznalva: 10, tombelemek szama: 16] 11. szam: -1 Rendezes utan:
17 Téglalapok rajzolása Alakítsuk ár a téglalap rajzoló programot is hasonlóan, de most mindig ugyanannyival növeljük a tömb méretét, ha elfogy a hely a tömböt lefoglaló és feltölt függvény adja vissza az elemek számát, a tömb címét pedig írja a paraméterként kapott címre! 91 i n t main ( ) { 92 t e g l a l a p t t ; i n t db ; 93 c o u t << " Rajzprogram a d j a meg a t é g l a l a p o k a d a t a i t! \ n" ; 94 db = b e k e r e s (& t t ) ; 95 r a j z o l ( t t, db ) ; 96 d e l e t e [ ] t t ; 97 r e t u r n 0 ; 98 }
18 Téglalapok rajzolása 58 i n t b e k e r e s ( t e g l a l a p t t ) { 59 i n t db=0, o s s z e s = 2, b f x ; 60 b o o l f o l y t a t ; 61 t t = new t e g l a l a p [ o s s z e s ] ; 62 do { 63 c e r r << "\ t [ F e l h a s z n a l v a : " << db << ", elemszam : " 64 << o s s z e s << " ] \ n" ; 65 f o l y t a t = bekerbfx ( db+1, MINX, MAXX 1, &b f x ) ; 66 i f ( f o l y t a t ) { 67 i f ( db == o s s z e s ) { 68 c e r r << "\ t [ M e m o r i a f o g l a l a s + mozgatas ] \ n" ; 69 o s s z e s += 2 ; 70 t e g l a l a p t t 2 = new t e g l a l a p [ o s s z e s ] ; 71 f o r ( i n t i =0; i <db ; i ++) { 72 ( t t 2+i ) = ( ( t t )+ i ) ; 73 }
19 Téglalapok rajzolása 74 d e l e t e [ ] t t ; 75 t t = t t 2 ; 76 } 77 ( t t ) [ db ]. b f. x = b f x ; 78 ( t t ) [ db ]. b f. y = b e k e r ( db+1, "BF s a r o k Y", 79 MINY, MAXY 1); 80 ( t t ) [ db ]. j a. x = b e k e r ( db+1, "JA s a r o k X", 81 ( t t ) [ db ]. b f. x +1, MAXX) ; 82 ( t t ) [ db ]. j a. y = b e k e r ( db+1, "JA s a r o k Y", 83 ( t t ) [ db ]. b f. y +1, MAXY) ; 84 c o u t << db+1 << ". t e g l a l a p r a j z o l ó k a r a k t e r e : " ; 85 c i n >> ( t t ) [ db ]. c ; 86 db++; 87 } 88 } w h i l e ( f o l y t a t ) ; 89 r e t u r n db ; 90 }
20 Téglalapok rajzolása Kimenet 1/2 Rajzprogram - adja meg a téglalapok adatait! [Felhasznalva: 0, elemszam: 2] 1. teglalap BF sarok X: [0, 78] (negativra vege) 0 1. teglalap BF sarok Y[0, 23] 0 1. teglalap JA sarok X[1, 79] 5 1. teglalap JA sarok Y[1, 24] 5 1. teglalap rajzoló karaktere: * [Felhasznalva: 1, elemszam: 2] 2. teglalap BF sarok X: [0, 78] (negativra vege) 2 2. teglalap BF sarok Y[0, 23] 2 2. teglalap JA sarok X[3, 79] 7 2. teglalap JA sarok Y[3, 24] 7 2. teglalap rajzoló karaktere: [Felhasznalva: 2, elemszam: 2] 3. teglalap BF sarok X: [0, 78] (negativra vege) 4 [Memoriafoglalas + mozgatas] 3. teglalap BF sarok Y[0, 23] 4 3. teglalap JA sarok X[5, 79] 9 3. teglalap JA sarok Y[5, 24] 9 3. teglalap rajzoló karaktere: - [Felhasznalva: 3, elemszam: 4] 4. teglalap BF sarok X: [0, 78] (negativra vege) -1 Kimenet 2/2 ****** ****** ** ** ** **
21 C-stílusú karakterláncok A C nyelv karakterláncai C-ben nincs string típus karakteres tömbök tárolják a jelek ASCII kódjait, a lánc végét a 0 kódú karakter ('\0') jelzi Minden eddig látott karakterlánc literál valójában konstans C karakterlánc (tömb) volt! char str[] = "abc"; Automatikusan bekerül a lánczáró karakter a tömb végére! Karakterláncok kezelése: a cstring (string.h) függvényeivel, pl. size_t strlen(const char *s); hossz lekérdezése char *strcat(char *dest, const char *src); összef zés char *strcpy(char *dest, const char *src); másolás A programozó felel ssége, hogy az eredmény elférjen a dest helyen! C++ string C-karakterlánc: string::c_str()
22 C-stílusú karakterláncok 1 #i n c l u d e <i o s t r e a m > 2 #i n c l u d e <s t r i n g > 3 #i n c l u d e <c s t r i n g > // s t r l e n, s t r c o p y, s t r c a t 4 u s i n g namespace s t d ; 5 6 v o i d k i i r ( c o n s t char c s t r ) { 7 c o n s t char ment = c s t r ; 8 c o u t << " ASCII : \ t " ; 9 c s t r ; 10 do { 11 c s t r ++; 12 c o u t << i n t ( c s t r ) << ' \ t ' ; 13 } w h i l e ( c s t r!= ' \0 ' ) ; 14 c o u t << "\ nolv. : \ t " ; 15 f o r ( c s t r=ment ; c s t r!= ' \0 ' ; c s t r ++) { 16 c o u t << c s t r << ' \ t ' ; 17 } 18 c o u t << e n d l ; 19 }
23 C-stílusú karakterláncok 21 i n t main ( ) { 22 k i i r ( "" ) ; 23 k i i r ( "C" ) ; 24 k i i r ( "C s t i l u s " ) ; 25 s t r i n g h = " H e l l o " ; 26 k i i r ( h. c _ s t r ( ) ) ; 27 c h a r v [ ] = " v i l a g! \ n" ; 28 c h a r c s = new c h a r [ h. l e n g t h ( ) + s t r l e n ( v ) + 1 ] ; 29 s t r c p y ( cs, h. c _ s t r ( ) ) ; 30 s t r c a t ( cs, v ) ; 31 c o u t << c s ; 32 d e l e t e [ ] c s ; 33 r e t u r n 0 ; 34 }
24 C-stílusú karakterláncok Kimenet ASCII: 0 Olv.: ASCII: 67 0 Olv.: C ASCII: Olv.: C - s t i l u s ASCII: Olv.: H e l l o Hello vilag!
25 Mátrixok Mátrix: azonos típusú elemek kétdimenziós tömbje A C++-ban csak egydimenziós tömbök léteznek, de ezeket tetsz leges mélységben egymásba lehet ágyazni! mátrix = vektorokból álló vektor A = A[1][2] int A[3][4] = { {11, 12, 13, 14}, {21, 22, 23, 24}, {31, 32, 33, 34} }; m m m A[0] A[1] A[n]... Mátrixok összeadása: (A + B)[i, j] = A[i, j] + B[i, j], ahol A és B két n m méret mátrix.
26 Mátrixok 5 #d e f i n e SOROK 3 6 #d e f i n e OSZLOPOK i n t main ( ) { 9 // d e k l a r a c i o, i n i c i a l i z a c i o 10 i n t a [SOROK ] [ OSZLOPOK] = { 11 { 11, 12, 13, 14 }, 12 { 21, 22, 23, 24 }, 13 { 31, 32, 33, 34 } 14 } ; 15 i n t b [SOROK ] [ OSZLOPOK], c [SOROK ] [ OSZLOPOK ] ; 16 s r a n d ( t i m e (NULL ) ) ; 17 f o r ( i n t s =0; s<sorok; s++) { // mtx. f e l t o l t e s e 18 f o r ( i n t o =0; o<oszlopok ; o++) { 19 b [ s ] [ o ] = 10 + r a n d ()%40; 20 } 21 }
27 Mátrixok 22 f o r ( i n t s =0; s<sorok; s++) { // mtx. ek o s s z e a d a s a 23 f o r ( i n t o =0; o<oszlopok ; o++) { 24 c [ s ] [ o ] = a [ s ] [ o ] + b [ s ] [ o ] ; 25 } 26 } 27 f o r ( i n t s =0; s<sorok; s++) { // m e g j e l e n i t e s 28 f o r ( i n t o =0; o<oszlopok ; o++) { 29 c o u t << a [ s ] [ o ] << ' ' ; 30 } 31 c o u t << ( s==sorok/2? "+ " : " " ) ; 32 f o r ( i n t o =0; o<oszlopok ; o++) { 33 c o u t << b [ s ] [ o ] << ' ' ; 34 } 35 c o u t << ( s==sorok/2? "= " : " " ) ; 36 f o r ( i n t o =0; o<oszlopok ; o++) { 37 c o u t << c [ s ] [ o ] << ' ' ; 38 } 39 c o u t << e n d l ; 40 } 41 r e t u r n 0 ; }
28 Mátrixok Kimenet = Hogyan adható át egy mátrix függvénynek? OK void fv(int t[sorok][oszlopok]) { //... void fv(int t[][oszlopok]) { //... void fv(int (*t)[oszlopok]) { //... Hiba X Ez mutatótömb, nem mátrix! void fv(int *t[oszlopok]) { //...
29 Mátrixok 45 i n t main ( ) { 46 i n t a [SOROK ] [ OSZLOPOK], b [SOROK ] [ OSZLOPOK], 47 c [SOROK ] [ OSZLOPOK ] ; 48 s r a n d ( t i m e (NULL ) ) ; 49 g e n e r a l ( a ) ; 50 g e n e r a l ( b ) ; 51 o s s z e a d ( a, b, c ) ; 52 m e g j e l e n i t ( a, b, c ) ; 53 r e t u r n 0 ; 54 }
30 Mátrixok 5 #d e f i n e SOROK 3 6 #d e f i n e OSZLOPOK v o i d g e n e r a l ( i n t t [ ] [ OSZLOPOK ] ) { 9 f o r ( i n t s =0; s<sorok; s++) { 10 f o r ( i n t o =0; o<oszlopok ; o++) { 11 t [ s ] [ o ] = 10 + r a n d ()%40; 12 } 13 } 14 } v o i d o s s z e a d ( c o n s t i n t ( a ) [ OSZLOPOK], 17 c o n s t i n t ( b ) [ OSZLOPOK], 18 i n t ( c ) [ OSZLOPOK ] ) { 19 f o r ( i n t s =0; s<sorok; s++) { 20 f o r ( i n t o =0; o<oszlopok ; o++) { 21 c [ s ] [ o ] = ( a [ s ] + o ) + ( ( b+s ) + o ) ; 22 } 23 } 24 }
31 Mátrixok 26 v o i d m e g j e l e n i t ( c o n s t i n t a [ ] [ OSZLOPOK], 27 c o n s t i n t b [ ] [ OSZLOPOK], 28 c o n s t i n t c [ ] [ OSZLOPOK ] ) { 29 f o r ( i n t s =0; s<sorok; s++) { 30 f o r ( i n t o =0; o<oszlopok ; o++) { 31 c o u t << a [ s ] [ o ] << ' ' ; 32 } 33 c o u t << ( s==sorok/2? "+ " : " " ) ; 34 f o r ( i n t o =0; o<oszlopok ; o++) { 35 c o u t << b [ s ] [ o ] << ' ' ; 36 } 37 c o u t << ( s==sorok/2? "= " : " " ) ; 38 f o r ( i n t o =0; o<oszlopok ; o++) { 39 c o u t << c [ s ] [ o ] << ' ' ; 40 } 41 c o u t << e n d l ; 42 } 43 }
32 Mátrixok Probléma: rugalmatlan függvények, mert az oszlopok száma rögzített Megoldás: hozzunk létre dinamikusan vektorokat (pl. int*-gal címezhet k), majd ezek címeit tároljuk egy újabb, dinamikus vektorban (int**, mutatótömb)! int** n int* m int A[0] A[0][1] A[n]......
33 Mátrixok 56 i n t main ( ) { 57 s r a n d ( t i m e (NULL ) ) ; 58 i n t s o r o k = 1 + r a n d ()%4; 59 i n t o s z l o p o k = 1 + r a n d ()%4; 60 i n t a = l e f o g l a l ( s o r o k, o s z l o p o k ) ; 61 i n t b = l e f o g l a l ( s o r o k, o s z l o p o k ) ; 62 i n t c = l e f o g l a l ( s o r o k, o s z l o p o k ) ; 63 g e n e r a l ( a, s o r o k, o s z l o p o k ) ; 64 g e n e r a l ( b, s o r o k, o s z l o p o k ) ; 65 o s s z e a d ( a, b, c, s o r o k, o s z l o p o k ) ; 66 m e g j e l e n i t ( a, b, c, s o r o k, o s z l o p o k ) ; 67 f e l s z a b a d i t ( a, s o r o k ) ; 68 f e l s z a b a d i t ( b, s o r o k ) ; 69 f e l s z a b a d i t ( c, s o r o k ) ; 70 r e t u r n 0 ; 71 }
34 Mátrixok 6 i n t l e f o g l a l ( i n t s o r o k, i n t o s z l o p o k ) { 7 i n t t = new i n t [ s o r o k ] ; 8 f o r ( i n t s =0; s<s o r o k ; s++) { 9 t [ s ] = new i n t [ o s z l o p o k ] ; 10 } 11 r e t u r n t ; 12 } v o i d g e n e r a l ( i n t t, i n t s o r o k, i n t o s z l o p o k ) { 15 f o r ( i n t s =0; s<s o r o k ; s++) { 16 f o r ( i n t o =0; o<o s z l o p o k ; o++) { 17 t [ s ] [ o ] = 10 + rand ()%40; 18 } 19 } 20 }
35 Mátrixok 22 v o i d o s s z e a d ( i n t a, i n t b, i n t c, 23 i n t s o r o k, i n t o s z l o p o k ) { 24 f o r ( i n t s =0; s<s o r o k ; s++) { 25 f o r ( i n t o =0; o<o s z l o p o k ; o++) { 26 c [ s ] [ o ] = ( a [ s ] + o ) + ( ( b+s ) + o ) ; 27 } 28 } 29 } 49 v o i d f e l s z a b a d i t ( i n t t, i n t s o r o k ) { 50 f o r ( i n t s =0; s<s o r o k ; s++) { 51 d e l e t e [ ] t [ s ] ; 52 } 53 d e l e t e [ ] t ; 54 }
36 Mátrixok Alternatív megoldás: utánozzuk a statikus tömbök memóriabeli szerkezetét, azaz valójában vektornak foglalunk helyet, és erre képezzük le a mátrix elemeit A[2*sorhossz+1] int* m 0 int n
37 Mátrixok 45 i n t main ( ) { 46 s r a n d ( t i m e (NULL ) ) ; 47 i n t s o r o k = 1 + r a n d ()%4; 48 i n t o s z l o p o k = 1 + r a n d ()%4; 49 i n t a = l e f o g l a l ( s o r o k, o s z l o p o k ) ; 50 i n t b = l e f o g l a l ( s o r o k, o s z l o p o k ) ; 51 i n t c = l e f o g l a l ( s o r o k, o s z l o p o k ) ; 52 g e n e r a l ( a, s o r o k, o s z l o p o k ) ; 53 g e n e r a l ( b, s o r o k, o s z l o p o k ) ; 54 o s s z e a d ( a, b, c, s o r o k, o s z l o p o k ) ; 55 m e g j e l e n i t ( a, b, c, s o r o k, o s z l o p o k ) ; 56 d e l e t e [ ] a ; 57 d e l e t e [ ] b ; 58 d e l e t e [ ] c ; 59 r e t u r n 0 ; 60 }
38 Mátrixok 6 i n t l e f o g l a l ( i n t s o r o k, i n t o s z l o p o k ) { 7 r e t u r n new i n t [ s o r o k o s z l o p o k ] ; 8 } 9 10 v o i d g e n e r a l ( i n t t, i n t s o r o k, i n t o s z l o p o k ) { 11 f o r ( i n t s =0; s<s o r o k ; s++) { 12 f o r ( i n t o =0; o<o s z l o p o k ; o++) { 13 t [ s o s z l o p o k + o ] = 10 + r a nd ()%40; 14 } 15 } 16 } v o i d o s s z e a d ( i n t a, i n t b, i n t c, 19 i n t s o r o k, i n t o s z l o p o k ) { 20 f o r ( i n t s =0; s<s o r o k ; s++) { 21 f o r ( i n t o =0; o<o s z l o p o k ; o++) { 22 c [ s o s z l o p o k+o ] = a [ s o s z l o p o k+o ] + b [ s o s z l o p o k+o ] ; 23 } 24 } 25 }
39 Mátrixok Inline függvények: javaslat a fordítónak, hogy a függvény kódját helyettesítse be minden hívás helyére csak egyszer, rövid függvényekkel javasolt használni függvény hívási id megtakarítható kódméret növekszik 10 i n l i n e i n t i d x ( i n t s, i n t o, i n t o s z l o p o k ) { 11 r e t u r n s o s z l o p o k + o ; 12 } v o i d g e n e r a l ( i n t t, i n t s o r o k, i n t o s z l o p o k ) { 15 f o r ( i n t s =0; s<s o r o k ; s++) { 16 f o r ( i n t o =0; o<o s z l o p o k ; o++) { 17 t [ i d x ( s, o, o s z l o p o k ) ] = 10 + r a n d ()%40; 18 } 19 } 20 }
Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 15. Leghosszabb 3D vektorok kikeresése 1 #i n c l u d e 2 #i n c l u d e 3 #d e f i n e MAX 1000
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. szeptember 27. Háromszög szerkeszthet ségének ellen rzése ANSI C (C89) megvalósítás #i n c l u d e i n t main ( v
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenProgramozás I gyakorlat
Programozás I. - 9. gyakorlat Sztringkezelés, mutatók Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 2, 2009 1 tar@dcs.vein.hu Tar
RészletesebbenA C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
RészletesebbenA C programozási nyelv V. Struktúra Dinamikus memóriakezelés
A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.
Részletesebben1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3
Darvay Zsolt Típusok és nevek a forráskódban Állandók és változók Hatókörök és az előfeldolgozó Bevitel és kivitel Kifejezések Utasítások Mutatók Függvények Struktúrák és típusok Állománykezelés C programozás
RészletesebbenC memóriakezelés. Mutató típusú változót egy típus és a változó neve elé írt csillag karakterrel hozhatjuk létre.
C memóriakezelés Ez a kis segédanyag az adatszerkezetek órán használt eszközök megértését hivatott elősegíteni. A teljesség igénye nélkül kerül bemutatásra a mutató típus és a dinamikus memóriakezelés.
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 31. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 31. Városok közötti távolság Feladat: két város nevének beolvasása, városok közötti távolság megjelenítése. Kilépés azonos városok
Részletesebben1. Alapok. Programozás II
1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph
RészletesebbenProgramozás alapjai. 10. előadás
10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:
Részletesebben5. Gyakorlat. struct diak {
Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus
Részletesebben8. gyakorlat Pointerek, dinamikus memóriakezelés
8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. május 6. Parancssori paraméterek Parancssorban történ programindításkor a program nevét követ en szóközökkel elválasztva paraméterek (command
RészletesebbenProgramozás C nyelven (10. ELŐADÁS) Sapientia EMTE
Programozás C nyelven (10. ELŐADÁS) Sapientia EMTE 2015-16 1 const ódosító jelző int x = 1914; // I. világháború ++x; // HELYES, mert x változó Vedd észre, hogy bár: x *p ++x helyes és ++(*p) helytelen
RészletesebbenProgramozás I. - 11. gyakorlat
Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar
RészletesebbenProgramozás C nyelven (10a. ELŐADÁS) Sapientia EMTE
Programozás C nyelven (10a. ELŐADÁS) Sapientia EMTE 2015-16 1 Karakterláncok A karakterláncokat char-tömbökben tároljuk. Egy karakterlánc végét a karakterlánc-végjel jelzi: \0 char s[10] = sapi ;... s
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
RészletesebbenProgramozas 1. Strukturak, mutatok
Programozas 1 Strukturak, mutatok Strukturak Tömb: több egyforma típusú változó együttese Struktúra: több különböző típusú de logikailag egybetartozó változó együttese, amelyet az egyszerű kezelhetőség
RészletesebbenProgramozás C++ -ban
8. Dinamikus objektumok Programozás C++ -ban Ahhoz hogy általános prolémákat is meg tudjunk oldani, szükség van arra, hogy dinamikusan hozhassunk létre vagy szüntethessünk meg objektumokat. A C programozási
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 11. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja
RészletesebbenC programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
RészletesebbenMiről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Dinamikus változók. Dinamikus változók. Dinamikus változók. Dinamikus változók. 7.
Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Dinamikus memóriakezelés Dinamikus tömbök Dinamikus stringek Program kapcsolata a
RészletesebbenProgramozás alapjai. 5. előadás
5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk
RészletesebbenProgramozás II. 4. Dr. Iványi Péter
Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include
RészletesebbenProgramozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek
Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő
RészletesebbenBevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 10. gyakorlat C++: alprogramok deklarációja és paraméterátadása 2011.11.22. Giachetta Roberto groberto@inf.elte.hu
RészletesebbenTartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.
Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
Részletesebben10. gyakorlat Struktúrák, uniók, típusdefiníciók
10. gyakorlat Struktúrák, uniók, típusdefiníciók Házi - (f0218) Olvass be 5 darab maximum 99 karakter hosszú szót úgy, hogy mindegyiknek pontosan annyi helyet foglalsz, amennyi kell! A sztringeket írasd
RészletesebbenKeresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán
Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala
RészletesebbenMutatók és mutató-aritmetika C-ben március 19.
Mutatók és mutató-aritmetika C-ben 2018 március 19 Memória a Neumann-architektúrában Neumann-architektúra: a memória egységes a címzéshez a természetes számokat használjuk Ugyanabban a memóriában van:
Részletesebben5. gyakorlat. Konstansok Tömbök Stringek
5. gyakorlat Konstansok Tömbök Stringek Konstansok A C nyelvben a konstansok preprocesszor makrókkal vannak megvalósítva. Konstansdefiniálás alakja: #define NÉV érték Az érték bármi lehet, később a fordítás
RészletesebbenProgramozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenSzövegek C++ -ban, a string osztály
Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string
RészletesebbenProgramozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t
RészletesebbenC++ programozási nyelv Konstruktorok Gyakorlat
C++ programozási nyelv Konstruktorok Gyakorlat Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A C++ programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
RészletesebbenProgramozás I gyakorlat. 10. Stringek, mutatók
Programozás I gyakorlat 10. Stringek, mutatók Karakter típus A char típusú változókat karakerként is kiírhatjuk: #include char c = 'A'; printf("%c\n", c); c = 80; printf("%c\n", c); printf("%c\n",
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk
RészletesebbenJárműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza. A C nyelvű programokban gyakran használják a
RészletesebbenProgramozási Nyelvek: C++
Programozási Nyelvek: C++ Gyakorló feladatkönyv Umann Kristóf #include "CppStudent.h" int main() { CppStudent *reader = new CppStudent(); reader->readbook(); while(!reader->doesunderstand()) { reader->exercise();
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r
RészletesebbenKészítette: Nagy Tibor István
Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke
Részletesebbentétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is
A tétel (record) tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is A tétel elemei mezők. Például tétel: személy elemei: név, lakcím, születési
RészletesebbenMaximum kiválasztás tömbben
ELEMI ALKALMAZÁSOK FEJLESZTÉSE I. Maximum kiválasztás tömbben Készítette: Szabóné Nacsa Rozália Gregorics Tibor tömb létrehozási módozatok maximum kiválasztás kódolása for ciklus adatellenőrzés do-while
RészletesebbenHatékony memóriakezelési technikák. Smidla József Operációkutatási Laboratórium január 16.
Hatékony memóriakezelési technikák Smidla József Operációkutatási Laboratórium 2014. január 16. 1 Tartalom A cache áthidalása Cache optimalizálás Adatszerkezetek tervezése A programkód szerkezete Prefetch
RészletesebbenAlkalmazott modul: Programozás 8. előadás. Strukturált programozás: dinamikus memóriakezelés. Dinamikus memóriakezelés. Dinamikus memóriakezelés
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 8. előadás Strukturált programozás: dinamikus memóriakezelés Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenProgramozás 6. Dr. Iványi Péter
Programozás 6. Dr. Iványi Péter 1 Előfeldolgozás része Makrók A forrás kódban elvégzi a helyettesítéseket a fordító Csak egyszer végez helyettesítést Nem olyan makrók, mint a LISP vagy Scheme esetén Csak
Részletesebben10. gyakorlat. Pointerek Tárolási osztályok
10. gyakorlat Pointerek Tárolási osztályok Pointer A pointer egy mutató egy memóriacellára, egyfajta "parancsikon", csak nem fájlokra, hanem változókra. Létrehozás: tipus * név;, ahol a típus a hivatkozott
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenBevezetés a programozásba. 8. Előadás: Függvények 2.
Bevezetés a programozásba 8. Előadás: Függvények 2. ISMÉTLÉS Helló #include using namespace std; int main() cout
RészletesebbenProgramozási nyelvek a közoktatásban alapfogalmak II. előadás
Programozási nyelvek a közoktatásban alapfogalmak II. előadás Szintaxis, szemantika BNF szintaxisgráf absztrakt értelmező axiomatikus (elő- és utófeltétel) Pap Gáborné. Szlávi Péter, Zsakó László: Programozási
RészletesebbenProgramozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)
Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával) I. A nyelv története C++ C (ős: B???) 1972 Ritchie AT&T Bell laboratórium UNIX 1978 Kernighan & Ritchie az első tankönyv,
RészletesebbenProgramozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók Dr. Bécsi Tamás 7. Előadás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza.
Részletesebben3. ZH-ban a minimum pontszám 15
1. HF 2. HF 3. HF 4. HF 5. HF 1. ZH 2. ZH 3. ZH Osszesen Jegy EHA kod 4 4 4 4 4 4 4 4 18 10 10 30 100 1 ARAPAFP.PTE 3.5 2.5 4 4 2 4 4 2 15 5 6 18 70 3 x 2 BAMPACP.PTE 4 4 4 4 4 4 4 4 18 10 8 26 94 5 x
Részletesebben3. Osztályok II. Programozás II
3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt
RészletesebbenBevezetés a programozásba. 5. Előadás: Tömbök
Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
RészletesebbenProgramozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenAlkalmazott modul: Programozás 10. fejezet. Strukturált programozás: dinamikus memóriakezelés. Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 10. fejezet Strukturált programozás: dinamikus memóriakezelés Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2015.
RészletesebbenFelhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
RészletesebbenFüggvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok
Részletesebben1. Jelölje meg az összes igaz állítást a következők közül!
1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.
RészletesebbenBevezetés a C++ programozási nyelvbe
Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék CPP0 / 1 Története A C++ programozási nyelv a C programozási nyelv objektum orientált kiterjesztése. Az ANSI-C nyelvet
Részletesebbenő ű É Ó Ü É É É É Ü Ö É É É ű É Ö É Ü É Ú Ó ő Ó
Ú Ü Ü Ü Ü Ü Ü Ú Ú Ú Ü É Ü Ü ő ű É Ó Ü É É É É Ü Ö É É É ű É Ö É Ü É Ú Ó ő Ó Ö ű Ú É É Ö Ö ű Ó Ö ű Ü Ü Ü Ú É É ő ő ő Ó Ó Ó Ű Ű Ü Ü ő Ü Ö Ó Ö Ó ő Ó ő ő ő ő ű ő ő ű ű É ő ő ő ő ő ő ő ő ű ő Ö Ö Ö ő Ü Ö ő ő
RészletesebbenTömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
RészletesebbenC string műveletek (string.h alkalmazása)
C string műveletek (string.h alkalmazása) A 3. előadás ZH során a string.h-ban található függvények alkalmazásával kell különböző, string kezeléssel kapcsolatos feladatokat megoldani. Ehhez szükséges ezen
RészletesebbenBevezetés a programozásba Előadás: A const
Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout
RészletesebbenC++ referencia. Izsó Tamás február 17. A C++ nyelvben nagyon sok félreértés van a referenciával kapcsolatban. A Legyakoribb hibák:
C++ referencia Izsó Tamás 2017. február 17. 1. Bevezetés A C++ nyelvben nagyon sok félreértés van a referenciával kapcsolatban. A Legyakoribb hibák: Sokan összetévesztik a pointerrel. Keveset alkalmazzák
Részletesebben7. fejezet: Mutatók és tömbök
7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata
RészletesebbenProgramozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
RészletesebbenBevezetés a programozásba. 9. Előadás: Rekordok
Bevezetés a programozásba 9. Előadás: Rekordok ISMÉTLÉS Függvényhívás #include #include #include #include using using namespace namespace std; std; double double terulet(double
RészletesebbenC++ programozási nyelv Konstruktorok-destruktorok
C++ programozási nyelv Konstruktorok-destruktorok Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenProgramozás I gyakorlat
Programozás I. - 2. gyakorlat Változók, kiiratás, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24, 2007 1 tar@dcs.vein.hu
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
RészletesebbenProgramozás. Osztályok, Származtatott osztályok. Fodor Attila
Programozás Osztályok, Származtatott osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. március 11. Beadandó feladat
RészletesebbenSzerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód:
Szerző Név: Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: vp.05@hotmail.com Kurzuskód: IP-08PAEG/27 Gyakorlatvezető neve: Kőhegyi János Feladatsorszám: 20 1 Tartalom Szerző... 1 Felhasználói dokumentáció...
Részletesebben500. AA Megoldó Alfréd AA 500.
Programozás alapjai 2. NZH 2010.05.13. gyakorlat: / Hiány:0 ZH:0 MEGOLD IB.027/51. Hftest: 0 Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti, hogy minden
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract
Részletesebbenend function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..
A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6
RészletesebbenA C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges típuskonverziók:
Típuskonverzió a C++ nyelvben Miskolci Egyetem Általános Informatikai Tanszék Típus konverzió a C++ nyelvben CPP3 / 1 Lehetséges konverziók A C++ szigorúbban kezeli a típuseltéréseket, mint a C nyelv Lehetséges
RészletesebbenProgramozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenA TANTÁRGY ADATLAPJA
A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület
RészletesebbenMutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
Részletesebben117. AA Megoldó Alfréd AA 117.
Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
RészletesebbenSmalltalk 2. Készítette: Szabó Éva
Smalltalk 2. Készítette: Szabó Éva Blokkok Paraméter nélküli blokk [műveletek] [ x := 5. 'Hello' print. 2+3] Kiértékelés: [művelet] value az értéke az utolsó művelet értéke lesz, de mindet kiírja. x :=
RészletesebbenProgramozás C nyelven (9. ELŐADÁS) Sapientia EMTE
Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE 2015-16 1 POINTEREK ismétlés double x = 3.14, *px = &x; unsigned char *p, *p1, *p2; p1 = (unsigned char*)px; p2 = p1 + sizeof(double); for ( p = p2-1 ;
RészletesebbenMemóriakezelés, dinamikus memóriakezelés
Metódus: függvények és eljárások összefoglaló neve. Memóriakezelés, dinamikus memóriakezelés Nézzük végig, a C++ memóriakezelését. Alapvetően három fő memóriaterületet különböztetünk meg. Végrehajtási
RészletesebbenProgramozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk
RészletesebbenHORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
RészletesebbenProgramozás II gyakorlat. 6. Polimorfizmus
Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással
Részletesebben6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések
RészletesebbenÉrdekes informatika feladatok
A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket
RészletesebbenProgramozás alapjai 9.Gy: Struktúra 2.
Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).
RészletesebbenC programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
RészletesebbenVisual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.
Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat
Részletesebben