Advertisement
tegusta

add/remove element

Feb 1st, 2012
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.27 KB | None | 0 0
  1. /*
  2. Studente : Scia Massimiliano
  3. Classe : 3IC
  4. Data : 01/02/2012
  5. Nome del file : Aggiungi o rimuovi elemento
  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. void insEl(char *choice, int *el, int *pos){
  46.     do{
  47.         cout<<"\nVuoi inserire (i) o eliminare (e)?  ";
  48.         cin>>*choice;
  49.         if(*choice!='i' && *choice!='e')
  50.             cout<<"\nScelta errata!\n";
  51.     }//do
  52.     while(*choice!='i' && *choice!='e');
  53.     if(*choice=='i'){
  54.         cout<<"\nInserisci l'elemento da aggiungere: ";
  55.         cin>>*el;
  56.         cout<<"\nInserisci la posizione: ";
  57.         cin>>*pos;
  58.     }//if
  59.     if(*choice=='e'){
  60.         cout<<"\nInserisci la posizione dell'elemento: ";
  61.         cin>>*pos;
  62.     }//if
  63. }//insEl
  64.        
  65.  
  66. /* ELABORAZIONE */
  67. void addElt(int a[],int n,int el,int pos){
  68.     for(int i=n;i>=pos;i--)
  69.         a[i]=a[i-1];
  70.     a[pos]=el;
  71. }//addElt
  72.  
  73. void remElt(int a[], int n, int el, int pos){
  74.     for(int i=pos;i<n-1;i++)
  75.         a[i]=a[i+1];
  76. }//remElt
  77.  
  78.  
  79. /* OUTPUT */
  80. void stampaAdd(int a[], int n){
  81.     cout<<"\nL'array ora e`:\n";
  82.     for(int i=0;i<=n;i++)
  83.         cout<<"\na["<<i<<"]: "<<a[i];
  84. }//stampaAdd
  85.  
  86. void stampaRem(int a[], int n){
  87.     cout<<"\nL'array ora e`:\n";
  88.     for(int i=0;i<n-1;i++)
  89.         cout<<"\na["<<i<<"]: "<<a[i];
  90. }//stampaRem
  91.  
  92.  
  93. int main (void){
  94. int n,a[MAX],el,pos;
  95. char choice;
  96. autore();
  97. leggi(a,&n);
  98. insEl(&choice,&el,&pos);
  99.     if(choice=='i'){
  100.         addElt(a,n,el,pos);
  101.         stampaAdd(a,n);
  102.     }//if
  103.     if(choice=='e'){
  104.         remElt(a,n,el,pos);
  105.         stampaRem(a,n);
  106.     }//if
  107. tasto();
  108. return 0;
  109. }//main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement