Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Bubble sort in C++

  1. #1

    Bubble sort in C++

    Salve ragazzi ho un problema con questo codice con ordinamento a bolle!! In pratica quando inserisco gli elementi nel vettore, esempio:

    dammi riemp: 3
    Ins elem 1 : 3
    / / / 2: 2
    / / / 3: 1

    quando stamap il vettore ordinato stampa 0 1 2!!! Non ho capito perchè sinceramente!! Allego il codice!
    codice:
    #include<iostream>
    #include<cstdlib>
    #include<iomanip>
    using std::setw;
    using namespace std;
    
    
    void AddItems(int a[],int n){
    	for(int i=0;i<n;i++){
    		cout<<"inserisci elemnto n. "<<i+1<<": ";
    		cin>>a[i];
    	}
    	cout<<"Il vettore caricato e': ";
    		for(int i=0;i<n;i++){
    			cout<<setw(4)<<a[i];
    		}
    		return ;
    	}
    	
    void ordina (int a[],int n){
    	int hold;
    	for( int pass=1;pass<=n;pass++){
    		for(int i=0;i<=n-1;i++){
    			if(a[i]>a[i+1]){
    			
    			hold=a[i];
    			a[i]=a[i+1];
    			a[i+1]=hold;
    		}
    	}
    }
    return ;
    }
    void stampa(int a[],int n){
    	cout<<"\nIl vettore ordinato vale: ";
    	for(int i=0;i<n;i++){
    		cout<<setw(4)<<a[i];
    	}
    	return;
    }
    
    
    int main(){
    	int n;
    	cout<<"dammi il riemp.: ";
    	cin>>n;
    	int a[n];
    	AddItems(a,n);
    	ordina(a,n);
    	stampa(a,n);
    	
    	return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Occhio a questa for

    for (int i = 0; i <= n - 1; i++) {

    tieni presente che se i è = a n-1 allora i+1 è = a n
    Ultima modifica di oregon; 07-10-2017 a 13:05
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Occhio a questa for

    for (int i = 0; i <= n - 1; i++) {

    tieni presente che se i è = a n-1 allora i+1 è = a n
    Quindi il for corretto é:
    codice:
    for(int i=0; i<n-1;i++)

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.