PDA

Visualizza la versione completa : selection sort[C++]con funzione e procedura


pongo
28-12-2013, 12:15
#include <iostream>

using namespace std;

int cercaposmin(int v[],int n, int start){

int min,pos;
pos=start;
min=v[start];
for(int i=start+1;i<n;i++)
{
if(v[i]<min)
min=v[i];
pos=i;
}
return(pos);
}

void selectsort(int v[],int n){
int k;
for(int i=0;i<n-1;i++){
k=cercaposmin(v,n,i);
if(k!=i)
swap(v[i],v[k]);
}

}

int main()
{
const int n=10;
int vet[n]={5,6,8,2,3,12,43,56,7,67};
cout<<"Inizialmente il vettore e: " <<endl;
for(int m=0;m<n;m++){
cout<< vet[m]<<" " ;
}
cout <<endl;

selectsort(vet, n);

cout <<"Il vettore dopo l'ordinamento e: ";
for(int m=0;m<n;m++){
cout<< vet[m]<<" ";
}

return 0;
}


E l'ordinamento non funge, vi prego di mostrarmi dove č errato questo algoritmo, cosė mi rendo conto delle lacune che ho...la funzione e la procedura sono scritte bene a me pare, la procedura la richiamo nel programma fornendole i corrispondenti parametri...quella procedura poi usa la funzione per la ricerca della pos del min...cosa mi sfugge?

lovesemiramide
28-12-2013, 12:40
Penso che tu abbia dimenticato le parentesi graffe nell'if in cercaposmin.

pongo
28-12-2013, 16:47
esattamente, grazie per l'intervento e scusate la distrazione ;)

Loading