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

Hasonló dokumentumok
Maximum kiválasztás tömbben

1. Alapok. Programozás II

Bevezetés a programozásba I.

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE

8. Gyakorlat. Rövid elméleti összefoglaló: Fájlkezelés

C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat

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

Bevezetés a programozásba I.

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

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

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

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

5. Gyakorlat. struct diak {

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

Országzászlók (2015. május 27., Sz14)

Programozás C++ -ban

INFORMATIKA javítókulcs 2016

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

A feladat lényege egy felhasználói típusnak a zsák típusnak a megvalósítása.

117. AA Megoldó Alfréd AA 117.

INFORMATIKA tétel 2019

Programozás C++ -ban 2007/1

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

Sejtautomaták. Szőke Kálmán Benjamin - SZKRADT.ELTE május 17.

Körkörös listák. fej. utolsó. utolsó. fej

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

1. numere.txt n (1 n 10000) n növekvő kilenc a) Pascal/C++ Például: NUMERE.TXT

Bevezetés a programozásba I.

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

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

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Géptermi zh-írás forgatókönyve

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

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

0.1. Mi az a standard be- és kimenet? A két mintafeladat leírása

INFORMATIKA tétel 2017

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.

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.

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

500. AA Megoldó Alfréd AA 500.

12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás

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

Pénzügyi algoritmusok

Globális operátor overloading

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

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

Programozási nyelvek Java

S z á m í t ó g é p e s a l a p i s m e r e t e k

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

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.

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket.

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

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

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

BASH SCRIPT SHELL JEGYZETEK

Bevezetés a programozásba. 8. Előadás: Függvények 2.

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

Programozás C++ -ban

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

Programozási alapismeretek 2009/2010

/* 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 ) ;

Informatika terméktervezőknek

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

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Programozás alapjai 1. (BMEVIEEA100)

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés

Programozás C++ -ban 2007/4

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

Java Programozás 1. Gy: Java alapok. Ismétlés ++

500. CC Megoldó Alfréd CC 500.

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

Java gyakorlat feladatai e s megolda sai ( )

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

Bevezetés a C++ programozási nyelvbe

Programozás C és C++ -ban

EAF I C++ nyelvi elemek felsorolása 1. Alapvet típusok

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

Programozási nyelvek Java

7. gyakorlat Sorozatok, Fájlkezelés

Bevezetés a programozásba. 6. Előadás: C++ bevezető

AWK programozás, minták, vezérlési szerkezetek

INFORMATIKAI ALAPISMERETEK

Bevezetés a programozásba I.

A C++ Standard Template Library rövid összefoglalás

Jelszavak helyes megválasztása, szótáras törés. Pánczél Zoltán

2018, Funkcionális programozás

Dinamikus csatolású függvénykönyvtár készítése és használata Plugin-szerű betöltés Egyszeű C++ osztályok készítése

Í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!

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki.

Szkriptnyelvek. 1. UNIX shell

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Objektum elvu alkalmaza sok fejleszte se

félstatikus adatszerkezetek: verem, várakozási sor, hasítótábla dinamikus adatszerkezetek: lineáris lista, fa, hálózat

Átírás:

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 be. Az eredményt írjuk ki a szabványos outputra. Adatok beolvasása fájlból ------------------------------ inp.open(fájl neve ); inp.fail(); (logikai érték) inp >> ahova_beolvas; :... Adatok kiírása fájlba ------------------------------ ofstream out; out.open(fájl neve ); out.close(); out.fail(); (logikai érték) out << amit_kiír; :... :... 1. oldal

Megoldóprogram C++ - ban (max02a) char barmi; //Bekérjük a fájl nevét a szabványos bemenetrı l. string InpFileName; cout << "\na fajl neve:"; cin >> InpFileName; //Definiálunk egy input streamet //Megnyitjuk a fájlt. //Ha hiba van befejezzük a programot. inp.open(inpfilename.c_str()); while (inp.fail()) cerr << "\na megadott fájlt nem találom!"; //Beolvassuk/kiírjuk a tömb hosszát int n; inp >> n; cout << "A tomb hossza: "; cout << n; cout << ".\n"; //Ellenı rizzük az elı feltételt if (n<1) cout << "A tomb üres!\n"; return 2; //Létrehozunk egy n elem ő tömböt és kitöltjük int* v; v=new int [n]; for (int i=0; i!=n ; inp >> v[i++]); //Lezárjuk a fájlt //Kiírjuk a tömb elemeit a szabványos kimenetre. cout << "A tomb elemei: "; for (int j=0; j!=n; j++) cout << v[j]; if (j < n-1) cout << ", "; else cout << ".\n"; 2. oldal

//Megkeressük a maximális elemet int k,i,max; k=0; i=0; max=v[0]; while (k!=(n-1)) if (v[k+1] >= max) i=k+1; max=v[k+1]; k=k+1; //Kiírjuk az eredményt cout << "A tomb egyik legnagyobb eleme: " << v[i] << "."; cout << "\n" << "Ez a tomb " << (i+1) << ". eleme. \n"; //Felszabadítjuk a dinamikusan lefoglalt tárterület delete[] v; 2.feladat (max02b) Egy fájl szavakat tartalmaz. Keressük meg a leghosszabb szót. A fájlban lév ı szavak számát nem ismerjük. A fájl nevét parancssorban adjuk meg. A parancssor második paramétere azt mondja meg, hogy milyen "adagokban b ı vítsük - szükség esetén - a tömböt. A szavakat (további feldolgozás céljából) tömbben is tárolni kell. Parancssorban megadott argumentumok A program szerkezete int main( int argc, char *argv[]) argv[1]... max02a adat.dat 3 A parancs :... 3. oldal

Megoldóprogram C++ - ban (max02b) #include <iostream> char barmi; //Megnézzük, hogy szerepel-e a fájl neve, //és a blokk mérete a parancssorban. if (argc <3 atoi(argv[2]) < 1) cout << "\nhianyzo parameter vagy nulla hosszu blokk"; //Definiálunk egy input streamet, és megnyitjuk a fájlt. inp.open(argv[1]); if (inp.fail()) cout << \na megadott fajlt nem talalom!"; return 2; //Elsı ként lefoglalunk egy blokk_hossz hosszúságú tömböt. int blokk_hossz = atoi(argv[2]); int max_hossz = blokk_hossz; string* v; v = new string[max_hossz]; //Beolvassuk az összes szót. int novel=0; int db=0; string txt; inp >> txt; while (!inp.fail()) while(!inp.fail() && db<max_hossz) v[db++]=txt; inp >> txt; //Ha nincs vége a fájlnak, növeljük meg a tömböt. if (!inp.eof()) string* temp = new string[max_hossz]; for (int i=0; i< max_hossz; i++) temp[i]=v[i]; delete[] v; v=new string[max_hossz+blokk_hossz]; for (int i=0; i< max_hossz; i++) v[i]=temp[i]; max_hossz = max_hossz + blokk_hossz; delete[] temp; novel++; 4. oldal

//Készítünk statisztikát. cout << "\nstatisztika"; cout << "\nszavak szama: " << db ; cout << "\na tomb hossza: " << max_hossz; cout << "\na blokk hossza: " << blokk_hossz; cout << "\na tombot " << novel << " alkalommal noveltem."; //Ellenı rizzük az elı feltételt if(db<1) cout << "\na fajl ures!\n"; return 2; //Megkeressük a maximális elemet int k,i,max; k=0; i=0; max=v[0]; while (k!=(n-1)) if (v[k+1] >= max) i=k+1; max=v[k+1]; k=k+1; //Kiírjuk az eredményt. cout << "\na fajl egyik leghosszabb szava: " << v[i] ; cout << "\nez a szo " << v[i].size() << " hosszu" ; cout << "\n" << "Ez a szo a fajl " << (i+1) << ". szava. \n"; //Felszabadítjuk a dinamikusan lefoglalt tárterület delete[] v; :... 5. oldal

3.feladat (max02c) Egy fájl szavakat tartalmaz. Keressük meg a leghosszabb szót. A fájlban lév ı szavak számát nem ismerjük. A fájl nevét a szabványos bemeneten adjuk meg. A szavakat nem kell tárolni.. Megoldóprogram C++ - ban (max02b) #include <iostream> //Bekérjük a fájl nevét string InpFileName; cout << "\nkerem a fajl nevet: "; cin >> InpFileName; //Definiálunk egy input streamet, // és megnyitjuk a fájlt. inp.open(inpfilename.c_str()); if (inp.fail()) cerr << "A megadott fajlt nem találom! \n"; //Megkeressük a leghosszabb szót //A beolvasott szavakat azonnal ki is írjuk cout << "\nszavak: "; string str, max_str; inp >> str; while (!inp.eof()) cout << str << " "; if (str.size() >= max_str.size()) max_str=str; inp >> str; //Bezárjuk a fájlt //Kiírjuk az eredményt cout << "\na fajl leghosszabb szava: " << max_str << ", melynek hossza: " << max_str.size() << "."; :... 6. oldal

4.feladat (max02d) Egy fájl neveket tartalmaz (vezetéknév, keresztnév (nevek) formában). Keressük meg a leghosszabb nevet. A neveket írjuk ki a standard kimenetre. A vezetéknév legyen csupa nagybető s. Nincs szükségünk a nevek tömbjére.. Megoldóprogram C++ - ban (max02b) #include <iostream> char barmi; //Bekérjük a fájl nevét string InpFileName; cout << "\nkerem a fajl nevet: "; cin >> InpFileName; //Definiálunk egy input streamet és megnyitjuk a fájlt. inp.open(inpfilename.c_str()); if (inp.fail()) cerr << "A megadott fajlt nem találom! \n"; //Megkeressük a leghosszabb nevet. //A beolvasott neveket ki is írjuk. //A vezetéknév legyen csupa nagybet ő. cout << "\nnevek: \n"; string str, max_str; getline(inp,str); while (!inp.eof()) for (int i=0; i<str.find(' ') && i < str.size(); str[i]=toupper(str[i++])); cout << str << "\n"; if (str.size() >= max_str.size()) max_str=str; getline(inp,str); //Bezárjuk a fájlt //Kiírjuk az eredményt. cout << "\na leghosszabb nev: " << max_str << ", melynek hossza: " << max_str.size() << "."; A forrásprogramok letölthetı k a http://people.inf.elte.hu/nacsa/eaf1/projects címrı l. 7. oldal