#include <iostream>
using namespace std;
void sort (int n,int niz[]);
int main()
{
int n,y[10000];
y[1]=5;y[2]=4;y[3]=3;n=3; /*primer*/
cout<<y[1]<<y[2]<<y[3]<<endl;
sort(n,y); /*sortiranje niza; n je broj clanova niza koji treba sortirati*/
cout<<y[1]<<y[2]<<y[3];
system ("pause");
return 0;
}
void sort (int n,int niz[])
{
int i,j,p;
for (i=1;i<n;i++)
for (j=i+1,j<n+1;j++;)
{
if (niz[i]<niz[j])
{
p=niz[i];niz[i]=niz[j];niz[j]=p; /*zamena mesta clanovima niza ukoliko je prethodni veci od narednog*/
}
}
}
Naime, f-ja sort uporedjuje svaki prethodni clan niza sa svakim sledecim, i ukoliko je prethodni clan manji od narednog, njima se zamene mesta.
Npr: niz je 3,1,2. Prvo uporedjuje 3 i 1, pa oni zamene mesta (niz je sada 1,3,2). Zatim uporedjuje 1 i 2, redosled ostaje isti. Onda uzima drugi clan niza, tj. 3 i uporedjuje ga sa 2; posto je 3 vece, menjaju im se mesta, a niz postaje 1,2,3.
Kada ovaj kod za sortiranje stavim u glavni deo programa, 'main', on odradi posao, ali kada je napisan kao funkcija program prijavi gresku: unhandled exception...access violation.
U cemu je problem?