Cod sursa(job #2003553)

Utilizator thinkphpAdrian Statescu thinkphp Data 23 iulie 2017 11:35:59
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.36 kb
#include <iostream>
#include <fstream>
#include <vector>
#define FIN "algsort.in"
#define FOUT "algsort.out"

using namespace std;

class Container {

      public:
      Container(int _n): n(_n){}

      void added(int val) {

           arr.push_back( val );
      }


      friend ostream &operator<<(ostream &stream,const Container &obj)  {
   
             vector<int> vec = obj.arr;

             for(vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {

                 stream<<(*it)<<" "; 
             }

          return stream;
      };

      void sorted() {

           for(int i = 0; i < n - 1; ++i) {

               for(int j = i + 1; j < n; ++j) {

                       if(arr[ i ] > arr[ j ]) {

                          int temp = arr[ i ] ^ arr[ j ];

                              arr[ i ] = temp ^ arr[ i ];

                              arr[ j ] = temp ^ arr[ j ];
                       }
               }
           }                         
      };


      private: 
      int n;
      vector<int> arr;  
};

int main() {

    int n, 
        elem;

    ifstream fin(FIN);
    ofstream fout(FOUT);

    fin>>n; 

    Container container(n);

    for(int i = 0; i < n; ++i) fin>>elem, container.added(elem);

    container.sorted();

    cout<<container;

 return(0);
};