Cod sursa(job #643999)

Utilizator sternvladStern Vlad sternvlad Data 5 decembrie 2011 00:19:43
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 1.31 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

const int N=10005;
vector <double> b[N];
int v[N],n,minim,maxim;

void citire ()
{
    int i,y;
    double x;
    ifstream in ("algsort.in");
    in>>n;
    minim=2147483647;
    maxim=0;
    for (i=0;i<n;i++)
        {
            in>>v[i];
            if (v[i]>maxim) maxim=v[i];
            if (v[i]<minim) minim=v[i];
                    }
                     for (i=0;i<n;i++)
        {
            x=(v[i]-minim);
            x=x/(maxim-minim+1);
            y=int (n*x);
            b[y].push_back(x);
        }
}
int cmp(double a,double b){
    return a<b;
}
void sortare ()
{
    int i,j,k;
    double aux;
    for (i=0;i<n;i++)
    {


            if (b[i].size()>=2)
                for (j=0;j<=b[i].size()-2;j++)
                    for (k=j+1;k<=b[i].size()-1;k++)
                 sort(b[i].begin(),b[i].end(),cmp);                                                         }

}


int main()
{
    int i,j;
    double x;
    ofstream out ("algsort.out");
    citire();
    sortare();
    int k=0;
    for (i=0;i<n;i++)
        if (b[i].size()>=1)
            for (j=0;j<b[i].size();j++)

                out<<b[i][j]*(maxim-minim+1)+minim<<" ";


    return 0;
}