В принципе не очень понятно, изобретать свои костыли или использовать STL. 
Своими ручками:
| Код | #include <iostream>
using namespace std;
class Array { private: int *arr; int size; public: Array (int size); ~Array (); void Print (); int GetSize () {return size;}; int operator [] (int index); };
class Alg { public: static int Comparison (Array &arr1, Array &arr2); }; //----------------------------------------------// Array::Array (int theSize) { size= theSize; arr= new int [size]; for (int i= 0; i < size; ++i) arr[i]= rand() % 89 + 10; } //----------------------------------------------// Array::~Array () { delete arr; } //----------------------------------------------// void Array::Print () { for (int i= 0; i < size; ++i) cout << arr[i] << " "; cout << endl; } //----------------------------------------------// int Array::operator [] (int index) { if (index < 0 || index > size-1) return -1; return arr[index]; } //----------------------------------------------// int Alg::Comparison (Array &arr1, Array &arr2) { int max1= 0, max2= 0, i; for (i= 0; i < arr1.GetSize(); ++i) if (max1 < arr1[i]) max1= arr1[i]; for (i= 0; i < arr2.GetSize(); ++i) if (max2 < arr2[i]) max2= arr2[i]; return max1 == max2 ? 0 : max1 > max2 ? -1 : 1; } //----------------------------------------------// int main (int argc, char **argv) { srand (time(NULL)); Array arr1 (10), arr2(10); arr1.Print (); arr2.Print (); switch (Alg::Comparison(arr1,arr2)) { case 0: cout << "Null" << endl; break; case -1: cout << "First" << endl; break; case 1: cout << "Last" << endl; break; } return 0; }
|
С помощью STL:
| Код | #include <iostream> #include <iterator> #include <vector>
using namespace std;
#define _SIZE_ 10
int main (int argc, char **argv) { srand (time(NULL)); vector <int> arr1, arr2; for (int i= 0; i < _SIZE_; ++i) { arr1.push_back (rand()%89+10); arr2.push_back (rand()%89+10); } copy (arr1.begin(), arr1.end(), ostream_iterator<int>(std::cout, " ")); cout << endl; copy (arr2.begin(), arr2.end(), ostream_iterator<int>(std::cout, " ")); cout << endl; int max1= *max_element (arr1.begin(),arr1.end()); int max2= *max_element (arr2.begin(),arr2.end()); if (max1 > max2) cout << "First" << endl; else if (max1 < max2) cout << "Last" << endl; else cout << "Null" << endl; return 0; }
|
Немного кривовато, но я думаю пойдёт. |