C++ alapok, harmadik óra Gyakorlás
Egyszerű feladat tipikus részei Bemenő adatok Az adatok összegyűjtése amikkel dolgozunk A feladat megoldása Most: megfelelő programozási tétel alkalmazása Az eredmény kiírása Az eredmény olvasható formában való megjelenítése (cout főleg)
Bemenő adatok Konstans adatok – összegzés [1,20] Billentyűzetről beolvasandó cin >> adat; Fájlból beolvasandó ifstream f(„fájlnév”); f.fail(); f.eof(); f.close(); Futási paraméter („elso.exe 1 2 alma”) argc -> hány paramétert kaptunk, ellenőrizni kell argv[] -> a tömb, amiben vannak (char* !!!) Számparaméter: int i=atoi(argv[1]);
A fájl szerkezete INCLUDE RÉSZ (#include <valami>) Main függvény iostream – képernyőre való kiírás/billentyűzetről való beolvasás fstream – fájlműveletek stdlib.h – atoi(...) függvényhez using namespace std; //kell.... Main függvény (int argc, char* argv[]) ?
Main függvény tartalma Beolvasás, ha kell Néhány adat billentyűzetről (pl. n,m) cout << ”Az intervallum eleje: ”; cin >> n; cout << ”Az intervallum vege: ”; cin >> m; Tömb bekérése (t[meret]) cout << ”Kerem a tomb elemeit!\n”; for(int i=0; i<meret; i++) cin >> t[i]; Adat bekérése parancssori argumentumként (pl. n,m esetleg filenev): if(argc < 3) {cout << ”Tul keves...\n”; return 1;} //legalabb 2 par n=atoi(argv[1]); //int n,m m=atoi(argv[2]);
Beolvasás... Fájlból adott számú (pl 10) bekérése egy tömbbe int t[10]; ifstream f(”fajlnev”); if(f.fail()) {cout << ”HIBA”; return 1;} //sikerült-e megnyitni for(int j=0; j<10; j++) f >> t[j];
További lépések... Feladat megoldása Eredmény kiírása Intervallumon [n,m] (wikin [m,n]) Tömbbön [0,méret-1] Fájl elemein Fájl végéig – f.eof() Adott számú elem (ekkor akár az elején is beolvashatjuk őket egy tömbbe) Eredmény kiírása
Példafeladat 1. Lépés: Keressük meg az első 4-gyel osztható (pozitív számot) a [-50,50] intervallumon, ami nem osztható 8-cal! 2. Lépés: Ugyanez egy tetszőleges tömb elemein. 3. Lépés: A tömböt kérjük be billentyűzetről.
Példafeladat... 4. Lépés: Legyen a feladat inkább a legnagyobb ilyen tulajdonságú érték megkeresése! 5. Lépés: Olvassunk be egy fájlból 10 elemet és azon dolgozzunk! 6. Lépés: A fájl neve legyen parancssori paraméterként megadva! 7. Lépés: Legyen inkább a legkisebb ilyen elem!
Sinus a hatványsorával A sin(x) fgv. közelítése : a hatványsorát valamilyen elég nagy indexig számítjuk ki (összegzés).