1. Beolvasunk két egész számot. A CSEREL eljárás (függvény) segítségével felcseréljük a két változó tartalmát, majd kiírjuk őket.

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "1. Beolvasunk két egész számot. A CSEREL eljárás (függvény) segítségével felcseréljük a két változó tartalmát, majd kiírjuk őket."

Átírás

1 1. Beolvasunk két egész számot. A CSEREL eljárás (függvény) segítségével felcseréljük a két változó tartalmát, majd kiírjuk őket. void cserel(int *,int *); /* cserel prototípusa */ int main(void) int a,b; printf("\nkérem a két számot"); scanf("%d%d",&a,&b); cserel(&a,&b); /* cserel hívása */ printf("\n\nmegcserélve %d - %d",a,b); void cserel(int *x,int *y) /* cserel definíciója */ int s; s=*x; *x = *y; *y = s;

2 2. Írjunk beolvasó rutint egy egész és egy valós szám beolvasására! A beolvasást egy függvény végezze el! A főprogramban írassuk ki a beolvasott számokat! void beolv(int *a, float *b); int main(void) int i; float f; beolv(&i,&f); printf("a beolvasott egész: %d, valós: %f",i,f); void beolv(int *a, float *b) printf("kérem az egész számot!"); scanf("%d",a); printf("kérem a valós számot!"); scanf("%f",b);

3 3. Készítsen függvényt, amely ellenőrzött adat-bevitelt valósít meg egész típusú adatokra. A program olvasson be egy egész számot, de csak bizonyos határok közötti értéket fogadjunk el. int egesz_bevitel (int, int, char *); int main(void) int n; /* string deklarálás kezdeti értékadással */ char csop_str [] = "Kérem a csoport létszámát :"; n = egesz_bevitel (1, 20, csop_str); printf ("\na csoportlétszám: %d", n); int egesz_bevitel (int ah, int fh, char *szoveg) int adat; do puts (szoveg); scanf ("%d", &adat); while (adat < ah adat > fh); return adat;

4 4. Készítsen függvényt, amely egy tetszőleges stringben (pl. névben) ellenőrzi, hogy szerepel-e abban a dr, Dr vagy DR karakter-sorozat. #include <string.h> int str_mi (char [], int *); int main (void) char nev [31]; int dr_mutat; /* a dr poziciója a névben */ printf ("\nkérem a nevet: "); gets (nev); if (str_mi (nev, &dr_mutat)) printf ("\na dr poziciója a névben: %d", dr_mutat); else printf ("\nnincs dr a névben."); int str_mi (char szoveg [], int *pozicio) int i=0, str_hossz, van = 0; str_hossz = strlen (szoveg); while (i < str_hossz-1 && van == 0) if ( (szoveg [i] == 'd' szoveg [i] == 'D') && (szoveg [i+1] == 'r' szoveg [i+1] == 'R')) van++; *pozicio = i; i++; return van;

5 5. Készítsünk függvényt az nxm-es, valós típusú adatokat tartalmazó mátrix elemeinek beolvasására, egy másik függvényt az elemek táblázatos formában történő kiíratására. A mátrix statikusan deklarált. void f_mx_be (float *, int, int); void f_mx_ki (float *, int, int); int egesz_bevitel (int, int, char *); int main(void) const max_oszlop = 10; const max_sor = 10; char bes [] = "Kérem a sorok aktuális számát:"; char beo [] = "Kérem az oszlopok aktuális számát:"; float eredmeny_tablazat[max_sor][max_oszlop]; /* a táblázat aktuális sor, illetve oszlop-száma */ int sor, oszlop; oszlop = egesz_bevitel (1, max_oszlop, beo); sor = egesz_bevitel (1, max_sor, bes); /* a statikusan definialt matrix csak vektorkent adhato at fuggvenynek */ f_mx_be (&eredmeny_tablazat[0][0], sor, oszlop); f_mx_ki (&eredmeny_tablazat[0][0], sor, oszlop); int egesz_bevitel (int ah, int fh, char * szoveg) int adat; do printf ("%s",szoveg); scanf ("%d", &adat); while (adat < ah adat > fh); return adat; /* a függvény float típusú elemeket tartalmazó, sor sorból és oszlop oszlopból álló mátrix elemeinek beolvasását végzi el. */ void f_mx_be (float *mx, int sor, int oszl) int i, j; for(i=0; i<sor; i++)

6 printf ("\nkérem az %d. sor elemeit:", i+1); for(j = 0; j < oszl; j++) /* i-dik sor j-dik elem beolvasása */ scanf ("%f", mx + i * oszl + j); /* a függvény float típusú elemeket tartalmazó, sor sorból és oszlop oszlopból álló mátrix elemeinek kiíratását végzi el. */ void f_mx_ki (float *mx, int sor, int oszl) int i, j; printf ("\na TÁBLÁZAT:\n"); for(i=0; i<sor; i++) /* soremelés minden táblázatsor el tt */ printf ("\n"); for (j = 0; j < oszl; j++) /* i-dik sor j-dik elem kiírása */ printf ("%10.2f", *(mx + i * oszl + j));

7 6. Oldjuk meg az előző feladatot dinamikusan foglalt mátrix-al. #include <stdlib.h> void f_mx_be (float *, int, int); void f_mx_ki (float *, int, int); int egesz_bevitel (int, int, char *); float **alloc_tomb(int sor, int oszlop); int main(void) const max_oszlop = 10; const max_sor = 10; char bes [] = "Kérem a sorok aktuális számát:"; char beo [] = "Kérem az oszlopok aktuális számát:"; float **eredmeny_tablazat; /* a táblázat aktuális sor, illetve oszlop-száma */ int sor, oszlop; oszlop = egesz_bevitel (1, max_oszlop, beo); sor = egesz_bevitel (1, max_sor, bes); eredmeny_tablazat = alloc_tomb(sor, oszlop); f_mx_be(eredmeny_tablazat, sor, oszlop); f_mx_ki(eredmeny_tablazat, sor, oszlop); float **alloc_tomb(int sor, int oszlop) float **p; int j; p = (float **)calloc(sor, sizeof(float *)); for(j = 0; j < sor; j++) p[j] = (float *)calloc(oszlop, sizeof(float)); return p; int egesz_bevitel (int ah, int fh, char *szoveg) int adat; do printf ("%s",szoveg);

8 scanf ("%d", &adat); while (adat < ah adat > fh); return adat; void f_mx_be (float **mx, int sor, int oszl) int i, j; for(i=0; i<sor; i++) printf ("\nkérem az %d. sor elemeit:", i+1); for(j = 0; j < oszl; j++) /* i-dik sor j-dik elem beolvasása */ scanf ("%f", &(mx[i][j])); void f_mx_ki (float **mx, int sor, int oszl) int i, j; printf ("\na TÁBLÁZAT:\n"); for(i=0; i<sor; i++) /* soremelés minden táblázatsor el tt */ printf ("\n"); for (j = 0; j < oszl; j++) /* i-dik sor j-dik elem kiírása */ printf ("%10.2f", mx[i][j]);

9 7. Irjunk programot, amely beolvas egy long értéket, és a long változó négy byte-ját rendre egy-egy karakteres típusú változóban helyezi el! int main() char a, b, c, d, *x; long l; printf("\nkérem a long változó értékét : ") ; scanf("%ld",&l); x = (char *) &l ; printf("\nx = %p", x ); a = *(x+0) ; b = *(x+1) ; c = *(x+2) ; d = *(x+3) ; printf("\nl = %ld",l) ; printf("\na = %c", a ); printf("\nb = %c", b ); printf("\nc = %c", c ); printf("\nd = %c", d );

10 8. Írjon programot melyben definiálunk egy új struktúrát. A struktúra elemei egy egész szám, egy valós szám és egy karakter. A program töltse fel értékkel a struktúra elemeit, majd nyomtassa ki azokat. #include <stdlib.h> int main() /* definiáljuk a struktúrát és rögtön egy változó típusa is lesz*/ struct valami int egesz; double valos; char karakter; elso; /* adjunk értékeket */ elso.egesz = 1; elso.valos = 2.2; elso.karakter = '3'; /* nyomtassuk ki az értékeket */ printf("egesz = %d : valos = %lf : karakter = %c", elso.egesz, elso.valos, elso.karakter);

11 9. Írjon programot melyben definiálunk egy új struktúrát. A struktúra elemei egy egész szám, egy valós szám és egy karakter. A program töltse fel értékkel a struktúra elemeit, majd másoljuk át egy másik struktúrába az értékeket és nyomtassa ki az új struktúrát. #include <stdlib.h> int main() /* definiáljuk a struktúrát és rögtön egy változó típusa is lesz*/ struct valami int egesz; double valos; char karakter; elso; struct valami masodik; /* adjunk értékeket */ elso.egesz = 1; elso.valos = 2.2; elso.karakter = '3'; /* struktúrák esetén egyszerű a másolás, csak egy értékadást kell végrehajtani */ masodik = elso; /* nyomtassuk ki a 'masodik' értékeit */ printf("egesz = %d : valos = %lf : karakter = %c", masodik.egesz, masodik.valos, masodik.karakter);

12 10. Írjon programot melyben definiálunk egy új struktúrát. A struktúra elemei egy egész szám, egy valós szám és egy karakter. A program töltse fel értékkel a struktúra elemeit, majd hívjunk meg egy függvényt ezzel a struktúrával. A függvényen belül változtassuk meg a struktúra értékeit. A függvénynek legyen visszatérési értéke is mely egy struktúra lesz. (Azt kell tapasztalnunk, hogy ahogy struktúrát lehet másolni is, úgy a függvény visszatérsi értékként is használható.) #include <stdlib.h> /* definiáljuk a struktúrát globálisan */ struct valami int egesz; double valos; char karakter; ; /* elso : lokális változó lesz */ struct valami fvg(struct valami elso) elso.egesz = elso.egesz + 2; elso.valos = elso.valos + 2.2; elso.karakter = elso.karakter + 2; return elso; int main() struct valami elso, masodik; /* adjunk értékeket */ elso.egesz = 1; elso.valos = 2.2; elso.karakter = '3'; /* látni fogjuk, hogy elso értékei érintetlenek maradnak */ masodik = fvg(elso); /* nyomtassuk ki az 'elso' értékeit */ printf("egesz = %d : valos = %lf : karakter = %c", elso.egesz, elso.valos, elso.karakter); /* nyomtassuk ki a 'masodik' értékeit */ printf("egesz = %d : valos = %lf : karakter = %c", masodik.egesz, masodik.valos, masodik.karakter);

13 11. Írjon programot melyben definiálunk egy új struktúrát. A struktúra elemei egy egész szám, egy valós szám és egy karakter. A program töltse fel értékkel a struktúra elemeit, majd hívjunk meg egy függvényt melynek egy argumentuma van egy struktúra mutató. A függvényen belül változtassuk meg a struktúra értékeit. #include <stdlib.h> /* definiáljuk a struktúrát globálisan */ struct valami int egesz; double valos; char karakter; ; /* elso : egy mutató, így valójában a globalis változót módosítjuk */ void fvg(struct valami *elso) elso->egesz = elso->egesz + 2; elso->valos = elso->valos + 2.2; elso->karakter = elso->karakter + 2; int main() struct valami elso; /* adjunk értékeket */ elso.egesz = 1; elso.valos = 2.2; elso.karakter = '3'; /* látni fogjuk, hogy elso értékei módosulnak */ fvg(&elso); /* nyomtassuk ki az 'elso' értékeit */ printf("egesz = %d : valos = %lf : karakter = %c", elso.egesz, elso.valos, elso.karakter);

14 12. Egy cég dolgozóinak fizetését kell meghatározni. Írjon programot mely a következőket teszi: Kérje be egy cégnél dolgozó emberek adatait o Először azt hogy hány ember dolgozik a cégnél. o Maximum 10 személy. o Ha a felhasználó többet akar megadni, ne engedjük. o Olvassa be a személyek adatait. Egy személy adatait tároljuk egy struktúrában. A struktúrának az alábbi elemei vannak: Dolgozó személyi száma (egész szám) Dolgozó neve Ledolgozott órák száma (egész szám) Kérje be az alapóra árát és a túlóra árát. A beolvasás után nyomtasson ki egy listát o Egy sorba a dolgozó nevét és fizetését o A fizetést az alábbi módon lehet kiszámolni fizetes = alapórabér * órák száma 200-ig + túlórabér * 200 óra után struct dolgozo int szemelyi_szam; char nev[50]; int munka_ora; ; int main() struct dolgozo ember[10]; int nember; int i; double alapora; double tulora; double fizetes; do printf("\ndolgozok szama [max 10]: "); scanf("%d", &nember); while(nember > 10); for(i = 0; i < nember; i++) printf("\ndolgozo neve: "); scanf("%s", ember[i].nev); printf("\ndolgozo szemelyi szama: "); scanf("%d", &(ember[i].szemelyi_szam)); printf("\nledolgozott ora: ");

15 scanf("%d", &(ember[i].munka_ora)); printf("\nalaporak ara: "); scanf("%lf", &alapora); printf("\ntulorak ara: "); scanf("%lf", &tulora); printf("\nfizetes Dolgozo"); for(i = 0; i < nember; i++) if(ember[i].munka_ora < 200) fizetes = ember[i].munka_ora * alapora; else fizetes = 200 * alapora + (ember[i].munka_ora - 200) * tulora; printf("\n%7.2f %s", fizetes, ember[i].nev);

16 13. Oldjuk meg az előző feladatot típus deklarálással /* ez lesz az uj tipus */ typedef struct int szemelyi_szam; char nev[50]; int munka_ora; dolgozo; int main() dolgozo ember[10]; /* lathato hogy uj tipus */ int nember; int i; double alapora; double tulora; double fizetes; do printf("\ndolgozok szama [max 10]: "); scanf("%d", &nember); while(nember > 10); for(i = 0; i < nember; i++) /* beolvasas ugyanaz mint elobb */ printf("\ndolgozo neve: "); scanf("%s", ember[i].nev); printf("\ndolgozo szemelyi szama: "); scanf("%d", &(ember[i].szemelyi_szam)); printf("\nledolgozott ora: "); scanf("%d", &(ember[i].munka_ora)); printf("\nalaporak ara: "); scanf("%lf", &alapora); printf("\ntulorak ara: "); scanf("%lf", &tulora); printf("\nfizetes Dolgozo"); for(i = 0; i < nember; i++) if(ember[i].munka_ora < 200)

17 fizetes = ember[i].munka_ora * alapora; else fizetes = 200 * alapora + (ember[i].munka_ora - 200) * tulora; printf("\n%7.2f %s", fizetes, ember[i].nev);

18 14. Oldjuk meg az előző feladatot dinamikus memória foglalással #include <stdlib.h> /* memoria foglalashoz */ typedef struct int szemelyi_szam; char nev[50]; int munka_ora; dolgozo; int main() dolgozo *ember; /* vektok lesz */ int nember; int i; double alapora; double tulora; double fizetes; do printf("\ndolgozok szama [max 10]: "); scanf("%d", &nember); while(nember > 10); /* csak annyi helyet foglalunk amennyi kell */ ember = (dolgozo *)calloc(nember, sizeof(dolgozo)); if(ember == NULL) printf("nem lehet memoriat allokalni\n"); exit(1); for(i = 0; i < nember; i++) printf("\ndolgozo neve: "); scanf("%s", ember[i].nev); printf("\ndolgozo szemelyi szama: "); scanf("%d", &(ember[i].szemelyi_szam)); printf("\nledolgozott ora: "); scanf("%d", &(ember[i].munka_ora)); printf("\nalaporak ara: "); scanf("%lf", &alapora); printf("\ntulorak ara: ");

19 scanf("%lf", &tulora); printf("\nfizetes Dolgozo"); for(i = 0; i < nember; i++) if(ember[i].munka_ora < 200) fizetes = ember[i].munka_ora * alapora; else fizetes = 200 * alapora + (ember[i].munka_ora - 200) * tulora; printf("\n%7.2f %s", fizetes, ember[i].nev);

20 15. Egy kórház szülészeti osztályának statisztikáját kell elkészíteni. Írjon programot mely a következőket teszi: Kérje be a gyermekek adatait o Először a gyerekek számát. o Maximum 12 gyerek. o Ha a felhasználó többet akar megadni, ne engedjük. o Olvassa be az adatokat. Egy gyerek adatait tároljuk egy struktúrában. A struktúrának az alábbi elemei vannak: Azonosító (egész szám) Csecsemő neve Koraszülött-e Születési súlya (valós szám) A beolvasás után a program határozza meg a fiúk és lányok számát, átlagos születési súlyukat és hány koraszülött fiú illetve lány született. Ezeket az adatokat nyomtassuk ki. #include <stdlib.h> typedef struct char nev[50]; int azonosito; int koraszulott; double suly; int neme; csecsemo; int main() csecsemo gyerek[12]; int ngyerek; int i; int nfiu = 0; int nlany = 0; double atlag_suly = 0.0; int nkorafiu = 0; int nkoralany = 0; do printf("\ngyerekek szama [max 12]: "); scanf("%d", &ngyerek); while(ngyerek > 12); for(i = 0; i < ngyerek; i++) printf("\ncsecsemo neve: ");

21 scanf("%s", gyerek[i].nev); printf("\ncsecsemo azonosito szama: "); scanf("%d", &(gyerek[i].azonosito)); /* ezt akar ellenorizhetjuk is, hogy 0 vagy 1 a beadott adat */ printf("\nkoraszulott [1/0]: "); scanf("%d", &(gyerek[i].koraszulott)); printf("\nsulya: "); scanf("%lf", &(gyerek[i].suly)); printf("\nneme [fiu = 0, lany = 1]: "); scanf("%d", &(gyerek[i].neme)); for(i = 0; i < ngyerek; i++) atlag_suly += gyerek[i].suly; if(gyerek[i].neme == 0) nfiu++; if(gyerek[i].koraszulott) nkorafiu++; else nlany++; if(gyerek[i].koraszulott) nkoralany++; atlag_suly /= ngyerek; printf("atlag suly: %.2f\n", atlag_suly); printf("fiuk szama: %d, ebbol koraszulott volt %d\n", nfiu, nkorafiu); printf("lanyok szama: %d ebbol koraszulott volt %d\n", nlany, nkoralany);

22 16. Implementáljon egy bináris fát. Készítsen függvényeket mely hozzáad egy elemet, és egy másikat ami kinyomtatja a teljes fát. A bináris fa egész számokat tárol. Egy elem egy struktúra, mely tárolja a számot és két pointert melyek a baloldali és jobboldali ágat tárolják. A program olvasson be számokat és tárolja a bináris fában, addig, amíg a bekért szám pozitív. Ha negatív számot adunk meg a bekérés véget ér és a program kinyomtatja a fa tartalmát (a számokat egymás alá, sorba rendezve). Végül kilép a program. #include <stdlib.h> /* uj adat tipus: Figyeljuk meg, hogyan definialjuk a strukturat: ilyen modon a strukturan belul struktura pointert is letre tudunk hozni */ typedef struct _binaris_level struct _binaris_level *bal; struct _binaris_level *jobb; int szam; binaris_level; /* egy uj falevel letrehozasa, a lefoglalt strukturara mutato pointert adja vissza */ binaris_level *uj_level(int szam) binaris_level *adat; adat = (binaris_level *)calloc(1,sizeof(binaris_level)); adat->szam = szam; return adat; /* beilleszt egy szamot a binaris faba */ void beilleszt(int szam, binaris_level *root) binaris_level *akt; akt = root; /* elvileg vegtelen ciklus, egy break fogja megszakitani */ while(1) /* ha a szam kisebb, akkor balra megyunk */ if(szam < akt->szam) /* ha a bal oldali level nem ures akkor az lesz az aktualis level es a ciklus folytatodik */ if(akt->bal!= NULL) akt = akt->bal; else

23 /* a bal oldali level ures, igy ide illesztjuk be a szamot */ akt->bal = uj_level(szam); break; /* ha aszam nagyobb, akkor a jobb oldali agon megyunk */ else if(akt->jobb!= NULL) akt = akt->jobb; else akt->jobb = uj_level(szam); break; /* rekurziv fuggvennyel nyomtatunk, igy a legegyszerubb megfogalmazni */ void nyomtat(binaris_level *akt) if(akt == NULL) ; /* NULL pointer, nem kell semmit se csinalni */ else nyomtat(akt->bal); printf("%d ", akt->szam); nyomtat(akt->jobb); int main() binaris_level *root = NULL; int szam; while(1) scanf("%d", &szam); /* ha negativ szamot adunk meg veget er a ciklus*/ if(szam < 0) break; /* figyelni kell, hogy van-e root */ if(root == NULL) root = uj_level(szam); else beilleszt(szam, root);

24 /* nyomtatas */ nyomtat(root);

25 Összetett feladat: Készítsen játékprogramot a veremkezelés szemléltetésére. A játékszabályok: Legyen egy 100 elemet befogadni képes verem. Induláskor töltsünk be 20 elemet. Egy-egy elem egy 1 és 10 közötti véletlen szám és a hozzá tartozó súly, amely szintén egy véletlen szám 1 és 5 között. A játék: tippelni kell a verem tetején lévő számra. Ha eltaláltuk, akkor annyi véletlen számmal tölti tovább a program a vermet, amennyi a kitalált szám és a hozzá tartozó súly szorzata. (A játékos nem ismeri a súlyozó tényezőket, sem a számokat) Ha nem találtuk ki a számot, akkor a verem tetején lévő szám törlődik, s az alatta lévő (következő) számra lehet tippelni. A játékos nyert, ha a verem megtelt. A nyeremény a veremben letárolt véletlen számok súlyokkal szorzott összege. A játékos vesztett, ha a verem kiürült. A verem tárolására egy 100 elemű egydimenziós tömböt fogunk használni. A tömb elemei strukturák. #include <stdlib.h> #define vm 100 struct elem int szam; /* a szám, amit el kell találni */ int suly; /* súly, amivel szorozni kell a számot */ ; int egesz_bevitel (int, int, char *); int verem_start (struct elem [], int m); int verem_jatek (struct elem [], int, int *, int); long nyeremeny (struct elem [], int); int random(int max_value); int main (void) int vt = 0; /* verem mutató, ha 0, üres a verem */ int menu = 1; struct elem verem[vm]; srand(12345); do switch (menu)

26 case 1: vt = verem_start(verem, vm); break; case 2: switch (verem_jatek (verem, vm, &vt, 0)) case -1: printf ("\nön vesztett! Üres a verem"); break; case 0: printf ("\ngratulálok, Ön nyert!"); break; case 1: printf("\nmár volt egy nyertes játszmája!"); break; case 3: printf("\na nyeremény:%ld ezer Ft", nyeremeny(verem, vm)); break; case 4: switch (verem_jatek (verem, vm, &vt, 1)) case -1: printf ("\nön vesztett! Üres a verem"); break; case 0: printf ("\ngratulálok, Ön nyert!"); break; case 1: printf("\nmár volt egy nyertes játszmája!"); break; printf("\n\n\n"); printf ("\nverem kezelo játék-program"); printf ("\n 0 játék vége"); printf ("\n 1 verem kezdeti töltése"); printf ("\n 2 játék"); printf ("\n 3 nyeremény kiszámítása"); printf ("\n 4 nyílt játék"); menu = egesz_bevitel (0, 5, "\nkérem a kiválasztott menü számát: "); while (menu > 0 && menu < 5); printf ("\nköszönöm az együttmuködést!"); int egesz_bevitel(int ah, int fh, char * szoveg) int adat = 5; do if(adat < ah adat > fh)

27 printf("\nervenytelen szam"); printf("%s",szoveg); scanf("%d", &adat); while(adat < ah adat > fh); return adat; int verem_start(struct elem vv[], int m) int i; for(i=0; i < 20; i++) vv[i].szam = random (10) + 1; vv[i].suly = random ( 5) + 1; for( ; i < m; i++) vv[i].szam = 0; vv[i].suly = 0; return 19; int verem_jatek(struct elem vv[], int m, int *t, int ok) char bes [] = "\nkérem a tippet:"; int tipp, i, n, k; if (*t == m) return 1; do if(ok) k = *t; printf ("\na VEREM:\n"); while (k >= 0) printf ("%2d/%2d - ",vv[k].szam,vv[k].suly); if (k%10 == 0) printf ("\n"); k--; tipp = egesz_bevitel (1, 10, bes); if (tipp == vv[*t].szam) /* eltalálta!! */ printf ("\neltalálta!"); n = vv [*t].szam * vv [*t].suly; for (i=0; i < n; i++) (*t)++; if(*t >= m) break;

28 vv [*t].szam = random (10)+1; vv [*t].suly = random (5) +1; else printf ("\nnem találta el a számot.\n"); /*a verem mutató átállítása a következo elemre */ (*t)--; while (*t > 0 && *t < m); if (*t == 0) return -1; else long nyeremeny(struct elem vv[], int m) long ny = 0; int i; for (i=0; i< m; i++) ny = ny + vv[i].szam * vv[i].suly; return ny; /* 0 es max_value-1 kozotti veletlen szamot general */ int random(int max_value) int v, m; m = RAND_MAX; v = (int)((double)rand() / m * max_value); return(v);

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ;

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ; 1. Írjunk programot, amely függvény alkalmazásával meghatározza n a értékét, (a az n-edik gyök alatt), az általunk megadott pontossággal, iterációval. Az iteráció képlete a következő: ahol : n-1 x uj =

Részletesebben

Verem Verem mutató 01

Verem Verem mutató 01 A számítástechnikában a verem (stack) egy speciális adatszerkezet, amiben csak kétféle művelet van. A berak (push) egy elemet a verembe rak, a kivesz (pop) egy elemet elvesz a verem tetejéről. Mindig az

Részletesebben

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. 11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;

Részletesebben

6. 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 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

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 2. gyakorlat Kifejezések, vezérlési szerkezetek, struktúrák Kifejezések Mit ír ki az alábbi program? #include int main() { int a = 20, b = 40; printf("%d\n", a > b);

Részletesebben

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

A 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észletesebben

Programozás alapjai 9.Gy: Struktúra 2.

Programozá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észletesebben

Mutató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

Mutató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észletesebben

Programozás 5. Dr. Iványi Péter

Programozás 5. Dr. Iványi Péter Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct

Részletesebben

Megoldott programozási feladatok standard C-ben

Megoldott programozási feladatok standard C-ben Megoldott programozási feladatok standard C-ben MÁRTON Gyöngyvér Sapientia Erdélyi Magyar Tudományegyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro Tartalomjegyzék

Részletesebben

1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e:

1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e: 1. Írjunk programot mely beolvas két számot és ellenőrzi hogy mindkét szám zérus-e: main() int number1, number2; printf("adjon meg két számot: "); scanf("%d %d", &number1, &number2); if ((number1 == 0)

Részletesebben

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Ciklusok for (ismétlés) while do while 2 for utasítás szöveg 10-szeri kiíratása: int

Részletesebben

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Programozá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észletesebben

Programozás 6. Dr. Iványi Péter

Programozá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észletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C 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észletesebben

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája:

Struktúrák (struct) A struktúra szerkezetét meghatározó deklaráció általános formája: Struktúrák (struct) A struktúra egy olyan összetett adatszerkezet, amely nemcsak azonos típusú elemeket rendelhet össze. A struktúra definíciójában leírjuk, hogy a struktúra hogyan épül fel. A struktúra

Részletesebben

1. Alapok. Programozás II

1. 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észletesebben

Programozás alapjai 8.Gy: Program struktúra

Programozás alapjai 8.Gy: Program struktúra Programozás alapjai 8.Gy: Program struktúra Elvarázsolt matekóra P R O A L A G 32/1 B ITv: MAN 2018.11.02 Programozás történelem Kezdetben egy program egyetlen kódsorozat volt (ún. monolitikus program)

Részletesebben

10. gyakorlat Tömb, mint függvény argumentum

10. gyakorlat Tömb, mint függvény argumentum 10. gyakorlat Tömb, mint függvény argumentum 1. feladat: A 6. gyakorlat 1. feladatát oldja meg a strukturált programtervezési alapelv betartásával, azaz minden végrehajtandó funkciót külön függvényben

Részletesebben

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozá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észletesebben

10. gyakorlat Struktúrák, uniók, típusdefiníciók

10. 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észletesebben

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása 1. feladat: Eldönteni egy számról, hogy pozitív, negatív vagy 0. Próbálja megoldani a feladatot switch szerkezettel is. Mikor használható

Részletesebben

Maximum kiválasztás tömbben

Maximum 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észletesebben

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O Programozás alapjai 3.Gy: C elágazások, ciklusok. P R O A L A G 1/39 B ITv: MAN 2018.10.08 Kövessük a kódot 1. 2. 3. 4. 5. 6. 7. 8. 9. void main() { int a, b, seged; printf("\nkerek ket egesz szamot: ");

Részletesebben

Programozas 1. Strukturak, mutatok

Programozas 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észletesebben

Fü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)

Fü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észletesebben

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Programozá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észletesebben

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Programozás alapjai 2.Gy: A C nyelv alapjai P R O Programozás alapjai 2.Gy: A C nyelv alapjai. P R O A L A G 1/32 B ITv: MAN 2018.10.02 Code::Blocks Indítsa el mindenki! 2/32 1 Code::Blocks Új projekt 2 3 4 5 3/32 Code::Blocks Forráskód Kód fordítása:

Részletesebben

Programozás I gyakorlat. 10. Stringek, mutatók

Programozá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észletesebben

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3) Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index

Részletesebben

7/8. gyakorlat Karaktertömbök és sztringkezelés

7/8. gyakorlat Karaktertömbök és sztringkezelés 7/8. gyakorlat Karaktertömbök és sztringkezelés 1. feladat: Karaktertömb kezelése Egy beolvasott karaktert lineáris kereső eljárással keressen meg az angol ábécében (az ábécé betűit tárolja inicializált

Részletesebben

Programozás II. 2. Dr. Iványi Péter

Programozá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észletesebben

5. Gyakorlat. struct diak {

5. 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észletesebben

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,

Részletesebben

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor. Függvény pointer Több feladat közül futási időben döntöm el, hogy melyiket hajtom végre. A függvényre mutató pointer a függvény kódjának a címére mutat, azon keresztül meghívhatom a függvényt. A pointernek

Részletesebben

C 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. 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észletesebben

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb 1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb #include main() { int a, b; printf( "a=" ); scanf( "%d", &a ); printf( "b=" ); scanf( "%d", &b ); if( a< b ) { inttmp = a; a =

Részletesebben

Stack Vezérlés szerkezet Adat 2.

Stack Vezérlés szerkezet Adat 2. Stack Vezérlés szerkezet Adat 2. Kód visszafejtés. Izsó Tamás 2013. november 14. Izsó Tamás Stack Vezérlés szerkezet Adat 2./ 1 Változó típusú paraméterekátadása 1. #include < s t d i o. h> int64 myfunc

Részletesebben

Programozás C és C++ -ban

Programozás C és C++ -ban Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új

Részletesebben

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom 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észletesebben

C változók. Feladat: Deklaralj egy valos, egy karakter es ket egesz tipusu valtozot! int main() {

C változók. Feladat: Deklaralj egy valos, egy karakter es ket egesz tipusu valtozot! int main() { C változók Feladat: Deklaralj egy valos, egy karakter es ket egesz tipusu valtozot! float valos; char karakter; int egesz1, egesz2; /* Tobb valtozo ugyan olyan tipusu lehet, ezek deklaraciojat csoportosthatjuk.

Részletesebben

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3) Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,

Részletesebben

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union

Programozás alapjai C nyelv 10. gyakorlat. Standard függvények. Union Programozás alapjai C nyelv 10. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.21. -1- Standard függvények Standard függvények amelyeket

Részletesebben

Mirő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. 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észletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

Programozás I. 5. Előadás: Függvények

Programozás I. 5. Előadás: Függvények Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény

Részletesebben

INFORMATIKA tétel 2017

INFORMATIKA tétel 2017 INFORMATIKA tétel 2017 ELMÉLETI TÉTEL: Sorold fel a rekurzív függvények/eljárások jellemzőit! Szemléltesd a fogalmakat egy konkrét példán! [1 pont] GYAKORLATI TÉTEL: 1. Legyen az alábbi pszeudokód programrészlet

Részletesebben

3. Osztályok II. Programozás II

3. 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észletesebben

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

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 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észletesebben

C 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 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észletesebben

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 1. gyakorlat Alapok Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt

Részletesebben

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

1.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észletesebben

5. gyakorlat. Konstansok Tömbök Stringek

5. 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észletesebben

INFORMATIKA tétel 2018

INFORMATIKA tétel 2018 INFORMATIKA tétel 2018 ELIGAZÍTÁS: 1 pont hivatalból; Az 1-4 feladatokban (a pszeudokód programrészletekben): (1) a kiír \n utasítás újsorba ugratja a képernyőn a kurzort; (2) a minden i = n,1,-1 végezd

Részletesebben

Mérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás

Mérnöki programozás 7. Szerkesztette: dr. Vass Péter Tamás Mérnöki programozás 7 Szerkesztette: dr. Vass Péter Tamás Függvények Függvény (function) egyedi azonosítónévvel ellátott számítási egység. A függvények formájában kidolgozott programkódok viszonylag egyszerűbb

Részletesebben

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

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 (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észletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

Já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 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észletesebben

int tokeletes(int szam) { int i,oszto=0; for(i=1; i<szam; i++) { if(szam %i == 0) { oszto+=i; }

int tokeletes(int szam) { int i,oszto=0; for(i=1; i<szam; i++) { if(szam %i == 0) { oszto+=i; } 1. /* Készítsen egy olyan szabványos ANSI C függvényt, amely egy egész számról eldönti, hogy tökéletes szám-e! Az a tökéletes szám, amely egyenlő a nála kisebb osztói összegével. Pl. 6 = 1+2+3 28 = 1+2+4+7+14*/

Részletesebben

Programozás I. - 11. gyakorlat

Programozá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észletesebben

8. gyakorlat Pointerek, dinamikus memóriakezelés

8. 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észletesebben

A C programozási nyelv VI. Parancssori argumentumok File kezelés

A C programozási nyelv VI. Parancssori argumentumok File kezelés A C programozási nyelv VI. Parancssori argumentumok File kezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv VI. (Parancssori argumentum, file kezelés) CBEV6 / 1 Parancssori

Részletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben

Programozás I gyakorlat

Programozá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észletesebben

Szövegek C++ -ban, a string osztály

Szö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észletesebben

Programozás I gyakorlat

Programozá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észletesebben

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. 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

Részletesebben

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK Sapientia EMTE 2015-16 1 Felülnézet 1 Feltételes fordítás #if, #else, #elif, #endif, #ifdef, #ifndef stb. Felülnézet 2 #include: hatására a preprocesszor

Részletesebben

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó

7. gyakorlat. Fájlkezelés IO haladó Függvények haladó 7. gyakorlat Fájlkezelés IO haladó Függvények haladó Fájlkezelés A C-ben a fájlkezelés ún. fájlstream-eken keresztül történik, melyek puffereltek ha valamit a streamre küldünk, nem biztos, hogy rögtön

Részletesebben

Tö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 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észletesebben

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti

Részletesebben

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

Bevezeté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észletesebben

Példák tematikus csoportosításban

Példák tematikus csoportosításban 1. fejezet Példák tematikus csoportosításban 1.1. A legegyszerűbb feladatok 1.1. feladat. Írjon programot, amely billentyűzetről látható karaktereket olvas mindaddig, amíg a @ karaktert meg nem kapja.

Részletesebben

Programozás 1. Dr. Iványi Péter

Programozás 1. Dr. Iványi Péter Programozás 1. Dr. Iványi Péter 1 C nyelv B.W. Kernighan és D.M. Ritchie, 1978 The C Programming language 2 C nyelv Amerikai Szabványügy Hivatal (ANSI), 1983 X3J11 bizottság a C nyelv szabványosítására

Részletesebben

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió BME MOGI Gépészeti informatika 3. 1. feladat Végezze el a következő feladatokat! Kérjen be számokat 0 végjelig, és határozza meg az átlagukat! A feladat megoldásához írja meg a következő metódusokat! a.

Részletesebben

Felvételi tematika INFORMATIKA

Felvételi tematika INFORMATIKA Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.

Részletesebben

Megoldott programozási feladatok standard C-ben

Megoldott programozási feladatok standard C-ben Megoldott programozási feladatok standard C-ben Márton Gyöngyvér Műszaki és Humántudományok Kar EMTE-Sapientia, Marosvásárhely 2008. december 14. 1. fejezet Megoldott feladatok 1.1. Alap algoritmusok 1.1.

Részletesebben

Programozás II. 4. Dr. Iványi Péter

Programozá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észletesebben

Vezérlési szerkezetek

Vezérlési szerkezetek Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását

Részletesebben

értékel függvény: rátermettségi függvény (tness function)

értékel függvény: rátermettségi függvény (tness function) Genetikus algoritmusok globális optimalizálás sok lehetséges megoldás közül keressük a legjobbat értékel függvény: rátermettségi függvény (tness function) populáció kiválasztjuk a legrátermettebb egyedeket

Részletesebben

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás 4.11. A C előfeldolgozó rendszer A fordítás első lépése a C esetében a különböző nyelvi kiterjesztések feldolgozása: másik állomány tartalmának

Részletesebben

Információs Technológia

Információs Technológia Információs Technológia (Struktúra, mutatók, függvényhívás) Fodor Attila Pannon Egyetem Műszaki Informatika Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 október 14/21. Struktúra

Részletesebben

Programozá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 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észletesebben

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C programozási nyelvbe Az Általános Informatikai Tanszék C nyelvi kódolási szabványa Oktatási segédletek a levelező műszaki informatikus hallgatók

Részletesebben

Mintavételes szabályozás mikrovezérlő segítségével

Mintavé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észletesebben

Információs Technológia

Információs Technológia Információs Technológia ZH feladatok megoldása (2009.11.26.) Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2009. november 26.

Részletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r

Programozá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észletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁ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észletesebben

Java II. I A Java programozási nyelv alapelemei

Java 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észletesebben

Programozás C++ -ban 2007/1

Programozás C++ -ban 2007/1 Programozás C++ -ban 2007/1 1. Különbségek a C nyelvhez képest Több alapvető különbség van a C és a C++ programozási nyelvek szintaxisában. A programozó szempontjából ezek a különbségek könnyítik a programozó

Részletesebben

malloc free malloc free int sum(int a[4]) { return a[0] + a[1] + a[2] + a[3]; }

malloc free malloc free int sum(int a[4]) { return a[0] + a[1] + a[2] + a[3]; } malloc free malloc free int sum(int a[4]) { return a[0] + a[1] + a[2] + a[3]; int main() { int b[4] = {1, 2, 3, 4}; printf("%d\n", sum(b)); return 0; \ \t \n \r \r\n \r string char* \0 a l m a \0 "alma"

Részletesebben

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Programozás alapjai 6. gyakorlat Futásidő, rekurzió, feladatmegoldás Háziellenőrzés Egészítsd ki úgy a simplemaths.c programot, hogy megfelelően működjön. A program feladata az inputon soronként megadott

Részletesebben

Programozás C nyelven (10a. ELŐADÁS) Sapientia EMTE

Programozá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észletesebben

main int main(int argc, char* argv[]) { return 0; } main return 0; (int argc, char* argv[]) main int int int main main main

main int main(int argc, char* argv[]) { return 0; } main return 0; (int argc, char* argv[]) main int int int main main main main int main(int argc, char* argv[]) { return 0; main main int int main int return 0; main (int argc, char* argv[]) main #include #include int main(int argc, char* argv[]) { double

Részletesebben

Programozás C nyelven (13. ELŐADÁS) Sapientia EMTE

Programozás C nyelven (13. ELŐADÁS) Sapientia EMTE Programozás C nyelven (13. ELŐADÁS) Sapientia EMTE 2015-16 1 Olvasás/írás (ANSI C) ille tyűzetről/képer yőre (scanf/printf) scanf: olvasás a standard inputról (stdin) A sta dard i put i pli ite a ille

Részletesebben

A programozás alapjai 1 Rekurzió

A programozás alapjai 1 Rekurzió A programozás alapjai Rekurzió. előadás Híradástechnikai Tanszék - preorder (gyökér bal gyerek jobb gyerek) mentés - visszaállítás - inorder (bal gyerek gyökér jobb gyerek) rendezés 4 5 6 4 6 7 5 7 - posztorder

Részletesebben

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere

A PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere 2012. április 10. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? alaki szabályok használata - mintapélda használata - mintapélda

Részletesebben

Algoritmizálás + kódolás C++ nyelven és Pascalban

Algoritmizálás + kódolás C++ nyelven és Pascalban Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban

Részletesebben

Programozás I gyakorlat. 5. Struktúrák

Programozás I gyakorlat. 5. Struktúrák Programozás I gyakorlat 5. Struktúrák Bemelegítés Írj programot, amely beolvassa 5 autó adatait, majd kiírja az adatokat a képernyőre. Egy autóról a következőket tároljuk: maximális sebesség fogyasztás

Részletesebben