Cod sursa(job #392504)

Utilizator nicolaetitus12Nicolae Titus nicolaetitus12 Data 7 februarie 2010 16:50:12
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.35 kb
#include <algorithm> //pt functia de sortare
#include <stdio.h> //la fel de bine si cstdio, header de C nu de c++
                   //headerele de c++ nu trebuie puse cu .h
#define N 500001
int v[N];

using namespace std;
/*
 std e spatiu de nume sub care sunt definite majoritatea numelor din STL
 ajuta sa diferentiezi o functie din stl de o functie din program daca au
acelasi nume.
 in mod normal accesezi sortarea din stl ca  std::sort();
 daca apare  using namespace std; atunci folosesti doar  sort();

 daca folosesti  using namespace std; si apar conflicte de nume
pui :: in fata functiei (fara nimic la stanga de ::) ca sa folosesti
functia definita in program
*/

//functie care stabileste ordinea; merge la fel de bine return int
bool compara (int p1,int p2)
{if(p1<p2)
  return true;
 return false;
}

int main ()
{int i,n;
 //redeschide fluxul de intrare iesire folosit de printf si scanf
 //sa nu mai scrii fprintf(fisier,"%d",x);
 //     ci doar    printf("%d",x);
 freopen("algsort.in","r",stdin);
 freopen("algsort.out","w",stdout);
 scanf("%d",&n);//&  ca sa nu transmita o copie a lui n
                //ci o referinta sa poata sa modifice n-ul in functie
 
 for (i=0;i<n;i++)
 {scanf("%d",&v[i]);
 }
 
 sort(v,v+n,compara);
 //std::sort(v,v+n,compara);
 for (i=0;i<n;i++)
 {printf("%d ",v[i]);
 }
 return 0;
}