Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <fstream>
- #include <stdlib.h>
- using namespace std;
- typedef vector<string> vect;
- void be_adat(vect &v); // adatok manuális beolvasása
- void f_adat(vect &v); // adatok beolvasás fájlból
- void kiir(vect &v); // eredmény megjelenítése
- int legmagasabb(vect &v);
- int hany(vect &v, int &i);
- int menu(int &dont); // menü
- int main()
- {
- vect v;
- int dont;
- menu(dont);
- if(dont==2)
- {
- be_adat(v);
- kiir(v);
- }
- else if (dont==1)
- {
- f_adat(v);
- }
- int diak;
- if((diak = legmagasabb(v)))
- {
- cout<<"Volt ilyen diak: "<<diak<<endl;
- }
- return 0;
- }
- void be_adat(vect &v)
- {
- string magas;
- do
- {
- cout << "Adja meg a magassagot:";
- cin >> magas;
- if (magas !="0")
- {
- v.push_back(magas);
- }
- }while(magas != "0");
- }
- void f_adat(vect &v)
- {
- string ifname;
- cout<<"Kerem az inputfajl nevet: ";
- cin>>ifname;
- ifstream infile(ifname.c_str());
- if(infile.fail())
- {
- cout << "Nincs meg az inputfile!" << endl;
- exit(1);
- }
- int n;
- infile >> n;
- v.resize(n);
- cout << "Beolvasott adatok:\n";
- for(int i=0; i<n; ++i)
- {
- infile >> v[i];
- cout << v[i] << endl;
- }
- }
- void kiir(vect &v)
- {
- for(int i=0; i<v.size(); ++i)
- {
- cout<<"A(z) "<<i+1<<". diak magassaga: "<<v[i]<<endl;
- }
- }
- int hany(vect &v, int &i)
- {
- int h=0;
- for(int j=0;j<i;i++)
- {
- if(v[j]>v[i]) h++;
- }
- return h;
- }
- int legmagasabb(vect &v)
- {
- int max=0;
- int diak=1;
- int h;
- for(int i=1;i<v.size();i++)
- {
- h=hany(v,i);
- if(h>max)
- {
- max=h;
- diak=i;
- }
- }
- return diak;
- }
- int menu(int &dont)
- {
- bool hiba=false;
- do
- {
- cout << "File-bol(1) vagy billentyuzetrol(2) szeretne adatokat megadni?\n";
- cin >> dont;
- hiba=cin.fail();
- if (hiba)
- {
- cerr << "Hibas bemenet!" << endl;
- cin.clear();
- string hibasadat;
- getline(cin,hibasadat);
- }
- else if (dont !=1 && dont !=2)
- cout << "A lehetseges valasztas: 1 vagy 2!" << endl;
- }while( (dont != 1) && (dont != 2) );
- return dont;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement