8. Gyakorlat. Rövid elméleti összefoglaló: Fájlkezelés
|
|
- Ilona Somogyi
- 10 évvel ezelőtt
- Látták:
Átírás
1 Rövid elméleti összefoglaló: Fájlkezelés 8. Gyakorlat Karakter írása és olvasása szükséges a fájlkezelő függvények használatához. Állomány nyitása írásra, például: ofstream Fir; Fir.open("adatok.dat"); Egy karakter írása a megnyitott állományba, például: char kar = 'A'; Fir.put(kar); Állomány nyitása olvasásra, például: ifstream Folv; Folv.open("adatok.dat"); Hibavizsgálat: Ha a fájlművelet alatt nem volt hiba a fail() tagfüggvény 0-át ad vissza, különben 1-et. Egy karakter olvasása az olvasásra megnyitott állományból: Folv.get(kar); Az állomány végének vizsgálata: az eof (end of file - állomány vége) tagfüggvény 0-át ad vissza, ha van még adat, 1-et, ha vége van az állománynak. while(!folv.eof()) Ha csak vizsgálat miatt olvastunk be egy karaktert, azt visszatehetjük a kimenetre: Folv.putback(kar); Az állományok bezárása: Fir.close(); Folv.close(); //MINTA8_01 main() char kar; ifstream finp; ofstream fout; finp.open("szoveg.dat"); if (finp.fail()) cerr << "szoveg.dat input allomany nem letezik!\n"; exit(1); fout.open("masol.dat"); if (fout.fail()) // vizsgálat nyitási művelet írásra cerr << "masol.dat output allomany nyitasi hiba!\n"; exit(1); finp.get(kar); // egy karaktert olvasunk be while (kar!= '?') // vizsgálat a? karakterre fout.put(kar); // karakterenként olvasunk finp.get(kar); finp.putback(kar); fout.put('!'); finp.close(); fout.close(); finp.open("masol.dat"); // megnyitjuk a masol.dat if (finp.fail()) cerr << "masol.dat input allomany nem letezik!\n"; exit(1); finp.get(kar); //olvasunk egy karaktert az állományból while (!finp.eof()) cout << kar; // kiírjuk a karaktert a képernyőre finp.get(kar);// egy karaktert olvasunk az állományból finp.close(); // lezárjuk az állományt A szoveg.dat állomány tartalma: Konnyu a C++ programozasi nyelv? A feladat, hogy a? jel helyett a masol.dat állományba! jelet írjunk. Konnyu a C++ programozasi nyelv! A fail() tagfüggvénnyel megvizsgáljuk, hogy létezik-e az állomány. Ha nem létezik, akkor hibajelzést adunk, és kilépünk a programból. Karakterenként olvasunk. Ha nem?-t olvastunk, akkor a beolvasott karaktert a masol.dat állományba írjuk. Ha?-t olvastunk, a ciklus utáni utasítás, a putback a? karaktert visszahelyezi az input folyamra és! karaktert írunk a? helyett. A masol.dat állomány tartalmát kiíratjuk a képernyőre. 1
2 8. C++ GYAKORLAT Fájlkezelés különféle típusú adatokkal A különféle adatok be-, illetve kivitele az alábbi módon történik: A beszúrás műveleti jellel (<<) írhatunk ki információt a kimeneti adatfolyamba. A kiemelés műveleti jellel (>>) olvashatunk fájlban tárolt információt a bemeneti adatfolyamból.! Karaktersorozat (szöveg) fájlkezelése //MINTA8_02 char sor1[80], sor2[80], sor3[80]; ifstream inp; // bemeneti fájlfolyam ofstream out; // kimeneti fájlfolyam out.open("szoveg.txt"); //írás szoveg.txt állományba out << "elso sor a kezdet" << endl; out << "masodik sor a folytatas" << endl; out << "harmadik sor a vege" << endl; out.close(); // az állomány lezárása inp.open("szoveg.txt"); // szöveg visszaolvasása inp >> sor1; inp >> sor2; inp >> sor3; inp.close();// az állomány lezárása cout << sor1 << endl; cout << sor2 << endl; cout << sor3 << endl; ifstream inp; bemeneti fájlfolyam ofstream out; kimeneti fájlfolyam Szöveg írása a szoveg.txt állományba: elso sor a kezdet masodik sor a folytatas harmadik sor a vege Szöveg visszaolvasása a szoveg.txt állományból. elso sor a Megjegyzés: A bemeneti adatfolyam a cin-hez hasonlóan az elválasztó (jelen esetben a szóköz) karakterig olvasott, ezért a három sorban az első sor szóközzel elválasztott karaktersorozata jelenik meg.! Olvasás a sor végéig: getline() A getline() tagfüggvény a sor végéig ('\n') olvas, de a beolvasott karaktersorozat nem tartalmazza a sort lezáró ('\n') karaktert. A függvény második paramétere a sztring hossza, harmadik paraméter a sort záró karakter ('\n'). ifstream& getline(char*, int, char = '\n'); //MINTA8_03 char sor1[80], sor2[80], sor3[80]; ifstream inp; ofstream out; out.open("szoveg.txt"); out << "elso sor a kezdet" << endl; out << "masodik sor a folytatas" << endl; out << "harmadik sor a vege" << endl; out.close(); // állomány lezárása // szoveg.txt állomány megnyitása olvasásra inp.open("szoveg.txt"); inp.getline(sor1, sizeof(sor1)); // olvasás a sor végéig inp.getline(sor2, sizeof(sor2)); inp.getline(sor3, sizeof(sor3)); inp.close();// állomány lezárása cout << sor1 << endl; cout << sor2 << endl; cout << sor3 << endl; A szoveg.txt állományból a sor végéig olvas a getline(). elso sor a kezdet masodik sor a folytatas harmadik sor a vege 2
3 8. C++ GYAKORLAT Numerikus adatok írása, olvasása Bemeneti állomány esetén: Olvasás egy valós változóba: inp >> a; Kimeneti állomány esetén: Kiírás fixpontosan out.setf(ios::fixed); A tizedespont és a tizedespont utáni vezető nullák kiírásra kerülnek: out.setf(ios::showpoint); A értékes jegyek száma is beállítható out.precision(3); Valós számok kiírása soremeléssel: out << ossz << endl; out << atlag << endl; //MINTA8_04 int db = 0; double a, ossz = 0, atlag; ifstream inp; ofstream out; char InpFnev[20],OutFnev[20]; cout <<"Input fajlnev: "; cin >> InpFnev;// bemeneti állomány neve (adat.txt) inp.open(inpfnev); if (inp.fail()) // vizsgálat: létezik-e az állomány cout << InpFnev << " nem letezik!" << endl; cout << "Output fajlnev: "; cin >> OutFnev; //kimeneti állomány neve (ered.txt) out.setf(ios::fixed); // kiírási formátum beállítása out.setf(ios::showpoint); out.open(outfnev); // kimeneti állomány létrehozása if (out.fail()) cout << OutFnev << " letrehozas nem sikerult!" << endl; exit(1); out.precision(3); cout << "A beolvasott adatok " << endl; inp >> a; // egy valós típusú adatot olvas while (!inp.eof()) cout << a << " ";// kiírja az állományba ossz += a; // az adatok összegét képezi db++; // megszámlálja az adatok számát inp >> a; // olvas egy újabb adatot atlag = ossz/db; // kiszámítja az adatok átlagát //megjeleníti a képernyőn az összeget és az átlagot cout << endl << "Osszeg: " << ossz << endl; cout << "Atlag: " << atlag << endl; // kiírja az állományba is out << ossz << endl; out << atlag << endl; inp.close(); // lezárja a bemeneti állományt out.close(); // lezárja a kimeneti állományt Olvasás az adat.txt állományból: A adat.txt tartalma: Input fajlnev: adat.txt Output fajlnev: ered.txt A beolvasott adatok Osszeg: 17 Atlag: 4.25 Az ered.txt állomány tartalma: A létrehozás sikerességének vizsgálata. Olvasás a bemeneti állományból az a változóba Az ossz és az atlag kiírása a kimeneti állományba soremeléssel. Az állományok lezárása. 3
4 8. C++ GYAKORLAT Az ios osztály használata Megnyitási mód Hatása ios::app Megnyitja az állományt (append) hozzáfűzési módba, és a fáljmutatót a fájl végére helyezi. ios::ate A fájlmutatót a fájl végére helyezi. ios::in A fájlt bevitelre (input) nyitja meg, ifstream esetén ez az alapértelmezés. ios::out A fájlt kivitelre (output) nyitja meg, ofstream esetén ez az alapértelmezés. ios::binary A fájlt bináris módban nyitja meg. ios::trunc Ha a fájl nem létezik, akkor létrehozza, ha létezik, megnyitja és felülírja. ios::nocreate Ha a megadott fájl nem létezik, akkor nyitási művelet hibát jelez. ios::noreplace Ha a fájl létezik, akkor nyitási művelet hibát jelez, kivéve ha az ate vagy app van beállítva. //MINTA8_05 ifstream inp; ofstream out; char fnev[20]; int db; double adat; cout <<"Az allomany neve: "; cin >> fnev; out.open(fnev); cout << "Adatok szama: "; cin >> db; for (int i = 1; i<=db; i++) cout << "Adat: "; cin >> adat; out << adat << endl; out.close(); out.open(fnev, ios::app); cout << "Uj adatok szama: "; cin >> db; for (int i = 1; i<=db; i++) cout << "Adat: "; cin >> adat; out << adat << endl; out.close(); // állomány lezárása. inp.open(fnev); cout << fnev <<" allomany tartalma:\n"; inp >> adat; while (!inp.eof()) cout << adat << " "; inp >> adat; inp.close(); // az állomány lezárása Az állományhoz való hozzáfűzés bemutatása (app). Állomány nevének beolvasása. Állomány megnyitása kivitelre. Adatok számának beolvasása. Adatok fájlba írása. Az állomány lezárása. Állomány megnyitása app, azaz hozzáfűzés módban. Új adatok darabszámának beolvasása, majd az új adatok beolvasása, és fájlba írása hozzáfűzéssel. A kimeneti állomány visszaolvasása és az adatok megjelenítése. Az allomany neve: adat.txt Adatok szama: 3 Adat: 2 Adat: 5 Adat: 4 Uj adatok szama: 2 Adat: 9 Adat: 12 adat.txt allomany tartalma: Bináris fájlkezelés Az összetett adattípusokat (tömböt és struktúrákat) kényelmesebb binárisan fájlba írni (write), illetve onnan olvasni (read). Írás: ostream::write() tagfüggvénye ostream& write(const signed char*, int n); ostream& write(const unsigned char*, int n); Olvasás: istream::read() tagfüggvénye istream& read(signed char*, int); istream& read(unsigned char*, int); 4
5 Struktúra adatainak kiírása bináris állományba //MINTA8_06 struct aru char azonosito[15]; double sulya; int ara; ; aru r; int db; ofstream out_aru; out_aru.open("aruk.dat"); cout << "Arufajtak szama: "; cin >> db; for (int i=0; i<db; i++) cout << endl; cout << "Aru azonositoja: "; cin >> r.azonosito; cout << "Aru sulya: "; cin >> r.sulya; cout << "Aru ara: "; cin >> r.ara; out_aru.write((char*)&r, sizeof(aru)); out_aru.close(); // lezárjuk az állományt 8. C++ GYAKORLAT Struktúra adatainak visszaolvasása bináris állományból //MINTA8_07 typedef struct aru char azonosito[15]; double sulya; int ara; ; aru r; int db; double RaktarErteke = 0, OsszSuly = 0; ifstream inp_aru; inp_aru.open("aruk.dat"); inp_aru.read((char*)&r, sizeof(aru)); while (!inp_aru.eof()) cout << end << "Aru azonositoja: " << r.azonosito << endl; cout << "Aru sulya: " << r.sulya << endl; cout << "Aru ara: " << r.ara << endl; OsszSuly += r.sulya; RaktarErteke += r.sulya*r.ara; inp_aru.read((char*)&r, sizeof(aru)); inp_aru.close(); cout << "\naruk ossz sulya: " << OsszSuly<< endl; cout << "Aruk ossz erteke: " << RaktarErteke << endl; Struktúra kiírása bináris állományba. Rákérdezünk az árufajták számára (db). Beolvassuk az áruk azonosítóját, súlyát és árát. Kiírjuk a struktúra adatait a bináris aruk.dat állományba. Arufajtak szama: 3 Aru azonositoja: alma Aru sulya: 2 Aru ara: 100 Aru azonositoja: szilva Aru sulya: 3 Aru ara: 150 Aru azonositoja: banan Aru sulya: 4 Aru ara: 200 A program beolvassa a MINTA8_06 által írt aruk.dat állományt tartalmát. Az aruk.dat állományban binárisan tárolt aru struktúra adatainak visszaolvasása. Az állományból való olvasáskor összeadjuk az áruk súlyát, és kiszámítjuk az összértéküket. Aru azonositoja: alma Aru sulya: 2 Aru ara: 100 Aru azonositoja: szilva Aru sulya: 3 Aru ara: 150 Aru azonositoja: banan Aru sulya: 4 Aru ara: 200 Aruk ossz sulya: 9 Aruk ossz erteke:
6 Feladatok 8. C++ GYAKORLAT 1. Olvassunk be egy karaktersorozatot a pontig a SZOVEG.DAT állományból! Számláljuk meg magánhangzók és az üres helyek számát. (GYAK8_1) Például a SZOVEG.DAT tartalma: A C++ programozasi nyelv megtanulhato. Használjuk az alábbi definíciót, valamint a SZOVEG.DAT beolvasása és kiértékelése: char kar; int osszkar=0, maganh=0, space=0; ifstream finp; finp.open("szoveg.dat"); if (finp.fail()) cerr << "szoveg.dat input allomany nem letezik!\n"; exit(1); finp.get(kar); cout << "A beolvasott mondat: " << endl; while (kar!= '.') cout << kar; osszkar++; switch (kar) case 'a': case 'e': case 'i': case 'u': case 'o': maganh++; break; case ' ': space++; break; finp.get(kar); cout << kar << endl; finp.close(); A beolvasott mondat: A C++ programozasi nyelv megtanulhato. Az osszes karakter szama: 37 Maganhangzok szama: 11 Ures helyek szama: 4 2. Generáljunk 10 véletlen számot 1 és 10 között, és írjuk ki azokat a VELETLEN.TXT állományba! A VELETLEN.TXT állományból olvassuk vissza, és jelenítsük meg a beolvasott adatokat! Számláljuk meg a páros, a páratlan és a 4-gyel osztható számokat. A párosakat adjuk össze, számítsuk ki a páratlanoknak összegét és átlagát. (GYAK8_2) szam = rand()%10+1; véletlenszám-generátor kezdőértéke: srand(unsigned(time(null))); #include <cstdlib> #include <ctime> int i, db = 10, vszam, parosdb= 0, paratlandb = 0, negyoszt = 0; int parosossz= 0, ptosszeg = 0; double ptatlag; ifstream inp; ofstream out; 6
7 srand((unsigned)time(null)); for(i = 0; i<db; i++) vszam = rand()%10+1; 8. C++ GYAKORLAT 3. Használjuk az alábbi definíciót! struct utazas char uticel[15]; int letszam; double ara; int napokszama; ; Az adatok feltöltésekor legyen az úti cél Berlin is! Írjuk ki az utazas struktúra adatait az UTAZAS.DAT bináris állományba! (GYAK8_3) 4. Olvassuk be az UTAZAS.DAT állomány tartalmát, és számláljuk meg az utak számát, az összes utasok számát, valamint azt, hogy hányan utaznak Berlin városába! Melyik a legdrágább és melyik a legolcsóbb út! (GYAK8_4) A struktúra azonos 3. feladatnál megadottal, használjuk az alábbi definíciókat! utazas ut; int i, utakszama =0, osszutas = 0, berlindb = 0; double dragajegy = 0, olcsout; ifstream inp; Az UTAZAS.DAT állományból táblázatosan írjuk vissza az adatokat: cout << " Uticel Ara Letszam" << endl; while (!inp.eof()) cout << setw(15) << ut.uticel; cout << setw(8) << ut.ara; cout << setw(7) << ut.letszam << endl; Példaként a program futásának eredménye, ha az UTAZAS.DAT állománynak ez a tartalma: Uticel Ara Letszam Berlin Praga Budapest Szofia Oszlo Osszes utas szama: 81 Utak szama: 5 Berlibe utazok szama: 12 Legdragabb jegy: Legolcsobb ut:
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Folyamok kezelése Fájlok írása/olvasása Folyamok kezelése Szabvány folyamok Eddig Kiírás a szöveges konzolra:
Programozá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
Bevezetés a programozásba I.
Bevezetés a programozásba I. 8. gyakorlat Fájlkezelés Surányi Márton PPKE-ITK 2010.11.02. Fájlkezelés C++-ban C++-ban van lehet ségünk fájlok kezelésére. Itt már tényleges fájlokkal dolgozunk, nem pedig
Elemi alkalmazások fejlesztése I. Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely
1.feladat (max02a) Olvassunk be egy fájlból egész számokat egy tömbbe. Keressük meg a tömb valamely maximális elemét. A tömb hosszát a fájl els ı eleme tartalmazza.a fájl nevét a szabványos bemeneten kérjük
Fejlett programozási nyelvek C++ Sablonok és adatfolyamok
Fejlett programozási nyelvek C++ Sablonok és adatfolyamok 11. előadás Antal Margit 2009 slide 1 Témakörök Sablonok Függvénysablon Osztálysablon Sablon metaprogramozás Adatfolyamok Operátorok és manipulátorok
Alkalmazott modul: Programozás 2. előadás. Procedurális programozás: adatfolyamok, adatsorok kezelése
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 2. előadás Procedurális programozás: adatfolyamok, adatsorok kezelése 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
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
Bevezetés Kiíratás Beolvasás Formázás Fájlkezelés Gyakorló feladatok C++ I/O. Bevezetés. Izsó Tamás február 20. Izsó Tamás C++ I/O / 1
C++ I/O Bevezetés Izsó Tamás 2014. február 20. Izsó Tamás C++ I/O / 1 Section 1 Bevezetés Izsó Tamás C++ I/O / 2 Irodalom Izsó Tamás C++ I/O / 3 Paraméter illesztés függvénynév túlterhelés esetén 1 Pontos
1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket.
1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket. // változó deklaráció int number1; // első szám int number2; // második szám int sum; // eredmény std::cout
Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015
Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás - Pál László 12. ELŐADÁS Állomány-kezelés 2 Objektumorientált programozás - Pál László Mi a
A C++ nyelvben a függvény nevek túlterhelésével biztonságosabbá tehetnénk az adatok kiírását és beolvasását.
1. Motiváció C nyelvben a printf és a scanf függvények használata a programozótól nagy körültekintést igényel. A változó számú argumentum miatt a fordító nem tudja ellenőrizni, hogy a formátum mezőben
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
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,
Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE
Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE 2015-16 Classic Empire - A turn Based Wargame Classic Empire is a real time, multiplayer, Internet-based game, featuring military, diplomatic, and economic
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
MATLAB. 9. gyakorlat. Cellatömbök, struktúrák, fájlműveletek
MATLAB 9. gyakorlat Cellatömbök, struktúrák, fájlműveletek Menetrend Kis ZH Cellatömbök és használatuk Struktúrák és használatuk Fájlműveletek Kis ZH pdf Félévzárás (1) Akinek egyik nagyzh-ja sem sikerült
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,
Bevezeté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
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ó
1. numere.txt n (1 n 10000) n növekvő kilenc a) Pascal/C++ Például: NUMERE.TXT
Az informatika érettségi harmadik tételsora tartalmaz egy feladatot, melyet hatékonyan kell megoldani. A program megírása mellett követelmény a megoldásban használt módszer rövid leírása, kitérve a módszer
Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;
Rövid elméleti összefoglaló 1. Gyakorlat A C++ nyelv hatékony, általános célú programozási nyelv, amely hagyományos fejlesztőeszközként és objektum-orientált programozási nyelvként egyaránt használható.
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
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
6. A Pascal nyelv utasításai
6. A Pascal nyelv utasításai Írjunk programot, amely beolvas két valós számot és a két szám közül a kisebbikkel osztja a nagyobbikat! (felt0) program felt0; szam1, szam2, eredmeny : real; writeln('kérek
7. gyakorlat Sorozatok, Fájlkezelés
7. gyakorlat Sorozatok, Fájlkezelés Házi ellenőrzés - f0124 Írj programot, amelyben a felhasználónak egy, a program által meghatározott számot kell kitalálnia! A felhasználó tippjét a program vagy elfogadja,
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS 2015-2016 Fájlkezelés PHP-ben Fájlok és könyvtárak kezelése 2 A PHP a Javascript-hez hasonlóan, nem képes a felhasználó merevlemezén
Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
ELTE SAP Excellence Center Oktatóanyag 1
Oktatóanyag 1 A dataset egy az alkalmazás-szerveren megtalálható illetve ott létrejövő szekvenciális fájl. Szerveroldali fájlkezelésre használják az SAP-ban. Megjegyzés: Amennyiben kliens oldalon található
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
S z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
Programozás I gyakorlat
Programozás I. - 2. gyakorlat Változók, típusok, bekérés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer - És Számítástudományi Tanszék Utolsó frissítés: September 21, 2009 1 tar@dcs.vein.hu
Programozás C nyelven 5. ELŐADÁS. Sapientia EMTE
Programozás C nyelven. ELŐADÁS Sapientia EMTE 201-16 1 while vs. for int szam, s; cin >> szam; s = 0; while ( szam > 0 ){ s += szam%10; szam /= 10; cout szam;
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
Bevezetés a C++ programozásba
Bevezetés a C++ programozásba A program fogalma: A program nem más, mint számítógép által végrehajtható utasítások sorozata. A számítógépes programokat különféle programnyelveken írhatjuk. Ilyen nyelvek
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,
Programozási nyelvek Java
Programozási nyelvek Java 9. gyakorlat Fájlkezelés A fájlkezelés Java-ban különböző osztályok összekapcsolásával történik. Minden egyes osztály valamilyen minimális szolgáltatást tesz hozzá a többihez.
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
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
Alkalmazott modul: Programozás 2. előadás. Procedurális programozás: adatfolyamok, adatsorok kezelése. Adatfolyamok kezelése. Adatfolyamok kezelése
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 2. előadás Procedurális programozás: adatfolyamok, adatsorok kezelése Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Bánsághi Anna 2014 Bánsághi Anna 1 of 35
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 4. ELŐADÁS - ADATFOLYAMOK KEZELÉSE 2014 Bánsághi Anna 1 of 35 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!
Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! valós adatokat növekvő sorrendbe rendezi és egy sorba kiírja
2018, Funkcionális programozás
Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a
Bevezetés a programozásba I 7. gyakorlat. C++: szövegkezelés, szekvenciális fájlkezelés. Szövegkezelés Karakterkezelés
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 7. gyakorlat C++: szövegkezelés, szekvenciális fájlkezelés 2011.10.25. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat
C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat 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/12 Input-output
Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
Adatbázisrendszerek I. Fájlszintű adattárolás C-ben
Adatbázisrendszerek I. Fájlszintű adattárolás C-ben Feladat: Tervezzen meg egy fájlszintű adatnyilvántartó rendszert és implementálja C nyelven. A tárolandó adatok: autó rendszáma, típusa, színe, gyártási
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 =
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
// 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.
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
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
Programozá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,
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,
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
Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1
Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Készítette: Gipsz Jakab Neptun-azonosító: A1B2C3 E-mail: gipszjakab@vilaghalo.hu Kurzuskód: IP-08PAED Gyakorlatvezető
AWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás
INFORMATIKA tétel 2019
INFORMATIKA tétel 2019 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 / operátor osztási hányadost
1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:
BME MOGI Gépészeti informatika 12. 1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt: Matematika;Fizika;Történelem;Irodalom;Nyelvtan;Angol;Testnevelés;
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
Adatbázisrendszerek I. File-szintű adattárolás C-ben. 1. gyakorlat
Adatbázisrendszerek I. File-szintű adattárolás C-ben 1. gyakorlat Feladat: Tervezzen meg egy fájlszintű adatnyilvántartó rendszert és implementálja C nyelven. A tárolandó adatok: autó rendszáma, típusa,
BASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
Bevezeté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
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ő
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
Programozás Minta programterv a 1. házi feladathoz 1.
Programozás Minta programterv a 1. házi feladathoz 1. Gregorics Tibor 1. beadandó/0.feladat 2008. december 6. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy osztályba n diák jár, akik m darab tantárgyat
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
7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.
7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,
Programozá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
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`)
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
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: ");
Listák, szótárak, fájlok Listák, szótárak, fájlok
lista fogalma, használata listák másolása (alap szintű, teljes körű) szótárak fogalma, használata adatbázis alkalmazás fejlesztése műveletek fájlokkal (megnyítás, írás, olvasás, lezárás) rejtjelező alkalmazás
Webprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
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.
Bevezetés a programozásba I 8. gyakorlat. C++: szövegfolyamok, intelligens tömbök. Adatfolyamok Hibalehetőségek
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 8. gyakorlat C++: szövegfolyamok, intelligens tömbök 2011.11.08. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Bevezetés a programozásba I 8. gyakorlat. C++: szövegfolyamok, intelligens tömbök
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 8. gyakorlat C++: szövegfolyamok, intelligens tömbök 2011.11.08. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Fájlkezelés. Szöveges fájlok kezelése
Fájlkezelés Fájlnak nevezünk minden háttértárolón található adatot, adathalmazt (pl. szövegszerkesztőben megírt dokumentum, stb.). A fájlok: azonos típusú komponensekből felépülő adatszerkezetek. a programba
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
Programozás C és C++ -ban
Programozás C és C++ -ban 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ó
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, az Algoritmusok és adatszerkezetek c. tárgyban
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
Láncolt lista. az itt adott nevet csak a struct deklaráción belül használjuk
Láncolt lista int szam char szoveg[10] következő elemre mutató pointer int szam char szoveg[10] következő elemre mutató pointer elem elem elem int szam char szoveg[10] következő elemre mutató pointer A
A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
Programozá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
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.
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
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
7. 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
file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>
I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >
4. GYAKORLAT. Rövid elméleti összefoglaló. Írjunk függvényt a téglalap területének kiszámítására: Visual Basic függvény
4. GYAKORLAT Rövid elméleti összefoglaló Visual Basic függvény Írjunk függvényt a téglalap területének kiszámítására: Function függvénynév (bemenő paraméterek) típus utasítások függvénynév= kifejezés A
Programozás alapjai gyakorlat. 2. gyakorlat C alapok
Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel
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
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
1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.
Számítás:. Olvassuk be két pont koordinátáit: (, y) és (2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki. 2. Olvassuk be két darab két dimenziós vektor komponenseit: (a, ay) és (b, by). Határozzuk
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG 1 A fenti
Fejlett programozási nyelvek C++ Iterátorok
Fejlett programozási nyelvek C++ Iterátorok 10. előadás Antal Margit 2009 slide 1 Témakörök I. Bevezetés II. Iterátor definíció III. Iterátorok jellemzői IV. Iterátorkategóriák V. Iterátor adapterek slide
A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin
1 A PROGRAMOZÁS ALAPJAI 3 Készítette: Vénné Meskó Katalin Információk 2 Elérhetőség meskokatalin@tfkkefohu Fogadóóra: szerda 10:45-11:30 Számonkérés Időpontok Dec 19 9:00, Jan 05 9:00, Jan 18 9:00 egy
Bevezetés a programozásba I.
Bevezetés a programozásba I. 9. gyakorlat Intelligens tömbök, mátrixok, függvények Surányi Márton PPKE-ITK 2010.11.09. C++-ban van lehetőség (statikus) tömbök használatára ezeknek a méretét fordítási időben