Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di pongo
    Registrato dal
    Dec 2013
    Messaggi
    24

    selection sort[C++]con funzione e procedura

    codice:
    #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?

  2. #2
    Penso che tu abbia dimenticato le parentesi graffe nell'if in cercaposmin.

  3. #3
    Utente di HTML.it L'avatar di pongo
    Registrato dal
    Dec 2013
    Messaggi
    24
    esattamente, grazie per l'intervento e scusate la distrazione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.