#include // Input-output műveletek #include #include // file mûveletekhez kell #include // atoi, rnad, srand #include // strcpy #include // time using namespace std; int main() { string sor; int szintmax, csapatmax, igenymax; char * p, * sora; // Kérések kiolvasásához kellenek! setlocale(LC_ALL, ""); // ez beállítja az op.rendszer által használt nyelvi környezetet, amit feltételezünk, hogy magyar //Elméletileg jó, de nekem most nem ment! system("cls"); // képernyõt töröl printf("2009.majus-junius emelt erettsegi programozasi feladat megoldasa C++-ban\n\n"); //1. feladat printf("1.feladat: Allomany beolvasasa\n"); ifstream myfile; // Hozzárendeli olvasásra a myfile-t myfile.open("igeny.txt"); // Ez nyitja meg a file-t getline(myfile,sor); szintmax = atoi(sor.c_str()); // A szintek száma printf("Szintek: %i\n", szintmax); getline(myfile,sor); csapatmax = atoi(sor.c_str()); printf("Csapatok szama: %i\n", csapatmax); getline(myfile,sor); igenymax = atoi(sor.c_str()); printf("Igenyek maximuma: %i\n", igenymax); int keres[igenymax+1][6]; // Ebbe kell beolvasni az adatokat getline(myfile,sor); int i=1; // Számláló a kérésekhez while ( i>liftalap; // Bevitel - bolondbiztosan! } while ((liftalap>szintmax) or (liftalap<0)); cout <<"A lift alaphelyzetben itt all: " <emax) { emax = keres[i][5]; } if (keres[i][6]>emax) { emax = keres[i][6]; } } printf("Legkisebb emelet: %i; legnagyobb emelet: %i\n",emin,emax); //5. feladat printf("\n\n5.feladat: Hatarozza meg, hanyszor kell lefele menni utassal és nelkule!\n"); int utasvan=0, utasnincs=0; for (i=1;i %d\n",sz[i][5],sz[i][6]); // Ez a csapat aktuális útja if (j==1) // Ez a csapat 1. útja, nem kell vizsgálat { csuj=keres[i][6]; } else // Itt már muszáj vizsgálni! { if (csuj != keres[i][5]) { printf("Szabalytalan ut %d és %d kozott!\n",csuj,keres[i][5]); hibasut++; } csuj = keres[i][6]; } } } if (hibasut == 0) { printf("Nem bizonyithato szabalytalansag!\n"); } //8.feladat printf("\n\n8.feladat: Blokkolo kartya\n"); int kod; string siker,kiiras; char c[256]; csmost=rand() % csapatmax +1; // Véletlen száma generálása ofstream myfile1; // File megnyitása írásra myfile1.open( "blokkol.txt"); printf("Kivalasztott csapat: %d\n",csmost); for (i=1;i<=igenymax;i++) { if (keres[i][4] == csmost) // Erről a csapatról van szó! { printf("Indulasi emelet: %d\n",keres[i][5]); sprintf(c,"%d",keres[i][5]); kiiras = "Indulasi emelet: "; kiiras += c; kiiras += "\n"; myfile1 <>kod; printf("\nFeladatkod: %d\n",kod); sprintf(c,"%d",kod); kiiras = "Feladatkod: "; kiiras += c; kiiras += "\n"; myfile1 <>siker; if (siker =="i") { printf("\nSikeresseg: befejezett\n"); kiiras = "Sikeresseg: befejezett\n"; } else { printf("\nSikeresseg: befejezetlen\n"); kiiras = "Sikeresseg: befejezetlen\n"; } myfile1 <