Advertisement
tegusta

riordina

Feb 1st, 2012
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.55 KB | None | 0 0
  1. /*
  2. Studente : Scia Massimiliano
  3. Classe : 3IC
  4. Data : 30/01/2012
  5. Nome del file : ordinamento per sostituzione
  6. */
  7.  
  8. #include <iostream>
  9. #define MAX 100
  10. using namespace std;
  11.  
  12.  
  13. // OV Nome dell'autore.
  14.  
  15. void autore(void) {
  16. cout << "Questo programma e` stato scritto da Massimiliano Scia.\n";
  17. }//autore
  18.  
  19.  
  20. // OV Messaggio di richiesta.
  21.  
  22. void tasto(void) {
  23. fflush(stdin);
  24. cout << "\n\nPremere Invio per continuare.";
  25. getchar();
  26. }//tasto
  27.  
  28.  
  29. /* INPUT */
  30. void leggi(int a[], int *n){
  31.      do{
  32.          cout<<"\nInserisci la grandezza dell'array: ";
  33.          cin>>*n;
  34.          if(*n<1 || *n>MAX)
  35.              cout<<"\nErrore nell'inserimento della grandezza..\n";
  36.      }//do
  37.      while(*n<1 || *n>MAX);
  38.      cout<<"\n";
  39.      for(int i=0;i<*n;i++){
  40.          cout<<"Valore di a["<<i<<"]: ";
  41.          cin>>a[i];
  42.      }//for    
  43. }//leggi
  44.  
  45.  
  46. /* ELABORAZIONE */
  47. void scambia(int *a, int *b){
  48.     int s=*a;
  49.     *a=*b;
  50.     *b=s;
  51. }//scambia
  52.  
  53.  
  54. void ordinamento(int a[], int n){
  55.     for(int i=0;i<n;i++)
  56.         for(int j=i+1;j<n;j++)
  57.             if(a[i]>a[j])
  58.                 scambia(&a[i],&a[j]);
  59. }//ordinamento
  60.  
  61.  
  62. /* OUTPUT */
  63. void stampa(int a[], int n){
  64.     cout<<"\nL'array in senso crescente e`:\n";
  65.     for(int i=0;i<n;i++){
  66.         cout<<"\na["<<i<<"]: "<<a[i];}
  67.     cout<<"\n\nL'array in senso decrescente e`:\n";
  68.     for(int i=n-1;i>=0;i--){
  69.         cout<<"\na["<<i<<"]: "<<a[i];}
  70. }//stampa
  71.  
  72.  
  73. int main (void){
  74. int n,a[MAX],x,y;
  75. autore();
  76. leggi(a,&n);
  77. scambia(&x,&y);
  78. ordinamento(a,n);
  79. stampa(a,n);
  80. tasto();
  81. return 0;
  82. }//main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement