Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<fstream>
- using namespace std;
- void beolvasas_g(vector<vector<int> > &mx);
- bool beolvasas_f(vector<vector<int> > &mx);
- bool mindenSorTsz(const vector<vector<int> > &mx);
- bool vanTSz(const vector<vector<int> > &mx,size_t i);
- bool TSz(int n);
- void kiiras(const vector<vector<int> > &mx);
- //1. feladat - irjuk meg a teteleket
- //2. feladat - irjuk meg a fajlbol bekerest!
- //(elore ismert meret, hiba eseten kilepes)
- int main()
- {
- vector<vector<int> > mx;
- //beolvasas_g(mx);
- if(beolvasas_f(mx))
- {
- kiiras(mx);
- if(mindenSorTsz(mx))
- cout << "Van." << endl;
- else
- cout << "Nincs." << endl;
- // ...tetel hivasa...
- }
- else
- cout<<"Hibas file"<<endl;
- return 0;
- }
- void kiiras(const vector<vector<int> > &mx)
- {
- for(size_t i=0;i<mx.size();++i)
- {
- for(size_t j=0;j<mx[i].size();++j)
- {
- cout<<mx[i][j]<<" ";
- }
- cout<<endl;
- }
- }
- void beolvasas_g(vector<vector<int> > &mx)
- {
- for(size_t i=0;i<mx.size();++i)
- mx[i].resize(0);
- mx.resize(0);
- int n;
- bool hiba;
- cout<<"Hanyszor hanyas?"<<endl;
- do
- {
- cin>>n;
- hiba = cin.fail() || n<0;
- if(hiba)
- {
- cin.clear();
- cin.ignore(1000,'\n');
- cout<<"Nem jo. Ujra!"<<endl;
- }
- }
- while(hiba);
- mx.resize(n);
- for(int i=0;i<n;++i)
- {
- mx[i].resize(n);
- for(int j=0;j<n;++j)
- {
- do
- {
- cin>>mx[i][j];
- hiba = cin.fail() || mx[i][j]<0;
- if(hiba)
- {
- cin.clear();
- cin.ignore(1000,'\n');
- cout<<"Nem jo. Ujra!"<<endl;
- }
- }
- while(hiba);
- }
- }
- }
- bool beolvasas_f(vector<vector<int> > &mx)
- {
- for(size_t i=0;i<mx.size();++i)
- mx[i].resize(0);
- mx.resize(0);
- cout<<"Irj be egy fajl nevet"<<endl;
- string s;
- cin >> s;
- ifstream ifs(s.c_str());
- if(ifs.fail())
- return false;
- int n;
- ifs>>n;
- if(ifs.fail() || n < 0)
- {
- ifs.clear();
- ifs.ignore(1000,'\n');
- ifs.close();
- return false;
- }
- mx.resize(n);
- for(int i=0;i<n;++i)
- {
- mx[i].resize(n);
- for(int j=0;j<n;++j)
- {
- ifs>>mx[i][j];
- if(ifs.fail() || mx[i][j] < 0)
- {
- ifs.clear();
- ifs.ignore(1000,'\n');
- ifs.close();
- return false;
- }
- }
- }
- string temp;
- ifs >> temp;
- if(!ifs.fail())
- {
- ifs.close();
- return false;
- }
- ifs.close();
- return true;
- }
- bool mindenSorTsz(const vector<vector<int> > &mx)
- {
- bool l = true;
- size_t i = 0;
- while(l && i < mx.size())
- {
- l = vanTSz(mx,i);
- ++i;
- }
- return l;
- }
- bool vanTSz(const vector<vector<int> > &mx,size_t i)
- {
- bool l = false;
- for (size_t j = 0;!l && j < mx[i].size();++j)
- l = TSz(mx[i][j]);
- return l;
- }
- bool TSz(int n)
- {
- if (n == 0)
- return false;
- int s = 0;
- for(int i=1; i < n; ++i)
- if(n % i == 0)
- s += i;
- return n == s;
- }
Advertisement
Add Comment
Please, Sign In to add comment