#include #include #include // Sokcélú műveletekhez #include // String műveletekhez #include // file műveletekhez using namespace std; int main() { system("cls"); setlocale(LC_ALL, ""); // ez beállítja az op.rendszer által használt nyelvi környezetet, amit feltételezünk, hogy magyar printf("2011. májusi emelt informatika programozás feladat megoldása\n"); //1. feladat char szo[40]; char * megvan; char kulcs [] = "aeiou"; int talalt = 0; printf("\n1. feladat: Adjon meg egy kisbetűs szót!"); cin >> szo; // Szó bekérése printf("\nMintaszó: %s", szo); // Biztonsági kiíratás megvan = strpbrk(szo,kulcs); while (megvan != NULL) { // printf("%c ", *megvan); //Megtalált magánhangzók! Csak teszt!!! megvan = strpbrk(megvan+1,kulcs); talalt++; } if (talalt==0) { printf("\nNincs benne magánhangzó!"); } else { printf("\nVan benne magánhangzó!"); } //2. feladat printf("\n\n2.feladat: Melyik a leghosszabb szó az állományban?"); string sor, sorjo; int hossz, hmost; ifstream myfile; // Hozzárendeli olvasásra a myfile-t myfile.open ("szoveg.txt"); // Ez nyitja meg a file-t hossz = 1; // A leghosszabb szó min. 1 karakter lesz. while ( myfile.good() ) //Egyszerű elöltesztelő ciklus a file vizsgálatához { getline (myfile,sor); //Konkrét kiolvasás a file-ból // cout << "Vizsgalt sor: " << sor; // Tesztelésre // cout <<" hossza: " < hossz) //Van hosszabb, mint a jelenlegi { sorjo = sor; hossz = hmost; // cout <<"Jelenlegi leghosszabb: " <0) { szoszam++; // A szavak számát növelem, ha nem üres a szó if (talalt >hossz-talalt) {ezkell++;} } } myfile3.close(); printf("\nTalált szavak száma: %i", szoszam); printf("\nHol több a magánhangzó, mint a mássalhangzó?: %i",ezkell); float arany; // Várt százalékos arány arany = 100*ezkell/szoszam; printf("\nSzázalékos arány: %4.2f %c\n", arany, '%'); //4. feladat string tomb [1000]; // Ebbe gyűjtöm az 5-betűs szavakat string bevisz; char beviszchar[3], ujsorchar[3]; bool jolesz; int tombindex = 1; char szoitt[40]; // Feldolgozáshoz kell ifstream myfile4; myfile4.open("szoveg.txt"); printf("\n\n4.feladat: 5 karakteres szavak kigyüjtése"); while ( myfile4.good() ) { getline (myfile4,sor); //Konkrét kiolvasás a file-ból // cout << sorok <<". vizsgalt sor: " << sor <>bevisz; // Szórészlet bekérése if (bevisz.size() == 3) { cout <<"\nKöszönöm!"; // Most jó lesz jolesz = true; } else { cout <<"\nÚjra kérem!"; // Hibás adat jött! } } while (jolesz != true); printf("\nA megtalált szavak: "); strcpy(beviszchar,bevisz.c_str()); // Ezzel kell összehasonlítani mindent for (int i=1;i