//2010. májusi emelt infó érettségi programozás feladat #include // Alapvető! Szinte mindig kell.. #include // input-output műveletekhez kell #include // file műveletekhez kell #include // String műveletekhez kell #include // Matematikai műveletekhez using namespace std; int adat [500][3]; // Ide visszük át az adatokat int hanyassor = 1; string sor; int main(int argc, char *argv[]) { // 1. feladat: file beolvasása printf ("1. feladat: fajl beolvasasa\n"); char *ujadat, *p; int ii; setlocale(LC_ALL, ""); // ez beállítja az op.rendszer által használt nyelvi környezetet, amit feltételezünk, hogy magyar ifstream myfile ("eladott.txt"); // File hozzárendelése if (myfile.is_open()) { while ( myfile.good() ) // Egyszerű elöltesztelő ciklus a file beolvasásához. { getline (myfile,sor); // Konkrét kiolvasás a file-ból // cout << sor << endl; // Kiírás a képernyőre - teszüzemben! ujadat = new char [sor.size()+1]; // Létrehozunk egy char típusú változót, melynek mérete a sor +1 lesz. strcpy(ujadat,sor.c_str()); // Átvisszük a sor adatait az ujadatba p = strtok (ujadat," "); // Feldaraboljuk az ujadatot ii = 1; // cout << "Feldolgozott sor szama: " << hanyassor << endl; //Tesztüzemben! while (p!=NULL) { // cout << p << endl; // Részadat kiírása a képernyőre - teszüzemben! adat[hanyassor][ii] = atoi(p); // Elmentjük a számot a végleges helyére! ii++; p=strtok(NULL, " "); } delete [] ujadat; // Töröljük az ujadat-ot hanyassor++; } myfile.close(); // File lezárása } else cout << "A file megnyitasa sikertelen volt."; // 2. feladat: Utolsó jegyvásárló sorszáma és távolság system("cls"); cout <<"--------------- 2. feladat: Utolsó jegyvásárló sorszáma és távolság" < utolso) { utolso = adat[szam][2]; } } cout <<"Utolsó megálló: " << utolso <> bekm; } while ((bekm<0) or (bekm>adat[1][2])); // Akkor lép ki, ha helyes érték jött cout <<"Beadott km: " <maxules) { maxules = adat[szam][1]; } } cout << "Legnagyobb ülésszám: " <= bekm) and (adat[szam][3] << bekm)) { sprintf(c,"%d",szam); // Integer átalakítása stringgé mive = c; mive += ". utas"; ulesek[adat[szam][1]]=mive; // Már felszállt és még nem szállt le } } ofstream myfile1; // File megnyitása írásra myfile1.open( "kihol.txt"); for (int szam = 1; szam<= maxules; szam++) // Egyes üléseken ülők kiírása képernyőre { if (ulesek[szam].length() == 0) { ulesek[szam] = "üres"; } sprintf(c,"%d",szam); kiiras = c; kiiras += ". ülés: "; kiiras += ulesek[szam]; kiiras += "\n"; // cout <