Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    C++ Ordinamento vettori con metodo selezione

    Buongiorno, qualcuno mi potrebbe spiegare i "passaggi" solo dove ho messo "?" e perchè alla fine di ogni procedura c'è una parentesi con (int n) e farmi un riassunto di come funzionano le procedure in questo caso.Grazie

    codice:
    #include "stdafx.h"
    #include "iostream"
    #include "time.h"                       
    
    using namespace std;
    
    int vet[100];
    
    void genera (int n);
    void visualizza (int n);
    void ordina (int n);
    void scambia (int y, int x);
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        int num;
    
        do
        {
            cout <<"inserisci il numero di elementi:";
            cin >> num;
            cout <<endl;
    
        } while (num < 1 || num > 100);
    
        genera (num);                 -->   ?
                                               
        visualizza (num);             -->   ?  
    
        ordina (num);                 -->   ?
    
        visualizza (num);            -->   ?
    
        return 0;
    }
    
    
    
    
        void genera (int n)
        {
            int i;
    
            
           srand((unsigned) time(0));
        
             for(i=0;i<n;i++)
             { 
                 vet[i]=rand() %100;
             }
        }
    
    
    
    
        void visualizza(int n)
        {  
             int i;
    
             for(i=0;i<n;i++)
    
             {
                 cout<<"\n vet[" <<i<< "] = "<<vet[i];
             
             }
    
             cout<< "\n" ;
             system("pause");
        }
    
    
    
    
       void ordina(int n)
    
       {
           int i,j;
    
           for(i=0;i<n-1;i++)
           {
             for(j=i+1;j<n;j++)
             { 
                if (vet[i]>vet[j])
                { 
                     scambia (i,j);
                }
             }
          }
       }
    
    
    
    
       void scambia(int x,int y)
         {  int temp;
         
          temp=vet[x];
          vet[x]= vet[y];
          vet[y]= temp;
    
       }
    Ultima modifica di MItaly; 05-05-2014 a 00:24

  2. #2
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    i nomi mi sembrano piuttosto self-explaining...
    genera è una funzione che va a scrivere nel vettore vet n numeri casuali tra 0 e 100.
    visualizza semplicemente stampa gli n numeri contenuti nel vettore vet.
    ordina non fa altro che ordinare questi elementi: confronta gli elementi a due a due e se trova due elementi il cui ordinamento è errato li scambia.

    Il senso complessivo di questo programma è il seguente: riempie un vettore con numeri casuali (quindi probabilmente disordinati), te li mostra, li ordina in modo crescente e te li ristampa ordinati.


  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Da questa tua domanda

    " perchè alla fine di ogni procedura c'è una parentesi con (int n) "

    comprendo che dovresti studiare un po' dal libro le basi del linguaggio ...

    Una spiegazione di qualche riga su un forum non ti aiuta certamente ... anzi, ti confonde di più.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.