5. kis ZH megirasa Pointerek: ---------- tomor hatekony kod bizonyos dolgok csak a segitsegevel megvalosithato Egy pointer tipusu valtozo egy masik valtozohoz tartozo memoria cime 2 muvelet: ---------- &: meghatarozza egy valtozohoz tartozo memoria mezo cimet *: a pointer altal mutatott mezo tartalma Deklaralas: ----------- int *p pelda: ------ int i, j, *p; p=&i; /*p i-re mutat*/ j=*p; /*mint j=i*/ *p=2; /*mint i=2*/ j=*p+1; /*j=i+1*/ *p=*p+1 /*mint i=i+1*/ &,*: magas precedencia!! FA: irjunk egy fuggvenyt aminek 2 parametere van es feladata a ket parameter ertekenek felcserelese 1. proba (rossz) csere(int x, int y){ int m; m=x; x=y; y=m; } 2. proba, pointerekkel csere(int *px, int *py){ int m; m=*px; *px=*py; *py=m; } Mit csinal a kovetkezo muveletsor? int* p, i; int j; p = &i; i = 2; j = *p; *p = 3; j*=*p**&i+1; cout << j; (20) Cim szerinti parameteratadas ---------------------------- FA: Irjunk fuggvenyt, melynek egy bemeno es 2 kimeno paramere van, visszateresi erteke nincsen. A bemeno parametere egy valos szam, a ket kimeno pedig egy egesz es egy valos, az egesz es a tortresze a szamnak. FA: Irjunk fuggvenyt, melynek ket valos bemeno parametere van, es 2 valos kimeno, a 2 valos kimeno parameter megkapja a bemeno parameterek mint egy teglalap oldalainak kerultet es teruletet scanf, printf fuggvenyek ------------------------ printf("format", arg1, arg2,....) formatalt I/O: -------------- %[szelesseg][.precizio]tipus %d, %i-integer %u - unsigned %c - karakter %s - string %f - double %o, %x - oktalis, hexadecimalis h-short, l-long, L-long double \" \t - horizontal tab \v - vertical tab \n - Uj sor \b - backspace \f - form feed \r - carriage return scanf("format", &valt1, &valt2,...); cim szerinti parameter atadas FA: irassuk ki egy "V" format a kepernyore Filekezeles c/c++ ----------------- Elozo ora ismetlese: c: Deklaralas, megnyitas, olvasas, iras, bezaras: #include FILE *in, *out; in==fopen("nev.kit", "r"); out==fopen("nev.kit", "w"); fprintf(out, "%d", 23); fscanf(in, "%d", &valt); fclose(in); fclose(out); c++: #include ifstream fp_in; ofstream fp_out; fp_in.open("nev.kit", ios::in); // open the streams fp_out.open("nev.kit", ios::out); fp_out << "23"; fp_in >> valt; fp_in.close(); fp_out.close(); FA: --- c-ben es c++-ban is vegezzuk el a kovetkezo feladatokat: -Adott számú input olvasása -Olvasás megadott végjelig -Feldolgozás fájlvégjelig -Olvassuk be egy szövegfájl tartalmát, és minden betűt alakítsunk át nagybetűssé Kotelezo programok megbeszelese, segitseg