Advertisement
tegusta

shift a rotazione dx & sx

Feb 1st, 2012
365
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. /*
  2. Studente : Scia Massimiliano
  3. Classe : 3IC
  4. Data : 30/01/2012
  5. Nome del file : shift verso destra e verso sinistra
  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. /* ELABORAZIONE */
  46. void leftShift(int a[], int n, int b[]){
  47.     b[n-1]=a[0];
  48.     for(int i=0;i<n-1;i++)
  49.         b[i]=a[i+1];
  50. }//leftShift
  51.  
  52.  
  53. void rightShift(int a[], int n, int c[]){
  54.     c[0]=a[n-1];
  55.     for(int i=0;i<n;i++)
  56.         c[i+1]=a[i];
  57. }//rightShift
  58.  
  59.  
  60. /* OUTPUT */
  61. void stampa(int b[], int c[], int n){
  62.     cout<<"\nLo shift verso sinistra e`:\n";
  63.     for(int i=0;i<n;i++)
  64.         cout<<"\nleft["<<i<<"]: "<<b[i];
  65.     cout<<"\n\nLo shift verso destra e`:\n";
  66.     for(int i=0;i<n;i++)
  67.         cout<<"\nright["<<i<<"]: "<<c[i];
  68. }//stampa
  69.  
  70.  
  71. int main (void){
  72. int n,a[MAX],b[MAX],c[MAX];
  73. autore();
  74. leggi(a,&n);
  75. leftShift(a,n,b);
  76. rightShift(a,n,c);
  77. stampa(b,c,n);
  78. tasto();
  79. return 0;
  80. }//main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement