Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.32 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5.  
  6.  
  7.  
  8. string sceglistringa[1000];
  9.  
  10. void archivio(int y)
  11. {
  12.     int x=0;
  13.     for(x=1; x<=y; x++)
  14.     {
  15.         cout<<sceglistringa[x]<<"in posizione : "<<x<<endl;
  16.     }
  17. }
  18.  
  19. string MAIUSCOLO(string z,int k)
  20. {
  21.     int lunghezza = 0;
  22.     string copia;
  23.     copia = z;
  24.     lunghezza = copia.length();
  25.     for(int i = 0; i < lunghezza; i++)
  26.     {
  27.         if(copia[i]>='a' && copia[i]<='z')
  28.         {
  29.             copia[i]=copia[i]-32;
  30.         }
  31.     }
  32.     sceglistringa[k] = copia;
  33.     return sceglistringa[k];
  34. }
  35.  
  36. string minuscolo(string w,int y)
  37. {
  38.     int lunghezza = 0;
  39.     string copia;
  40.     copia = w;
  41.     lunghezza = copia.length();
  42.     for(int j = 0; j < lunghezza; j++)
  43.     {
  44.         if(copia[j]>='A' && copia[j]<='Z')
  45.         {
  46.             copia[j] = copia[j]+32;
  47.         }
  48.     }
  49.     sceglistringa[y]=copia;
  50.     return sceglistringa[y];
  51. }
  52.  
  53. int corrispondenza(string copia)
  54. {
  55.     int lunghezza = 0, contaoccorrenze = 0,contaletteretot = 0,contatorecontrollo = 0;
  56.     string Copia;
  57.     char controllo[1000];
  58.     bool lettereuguali = true;
  59.     Copia = copia;
  60.     lunghezza = Copia.length();
  61.     for(int h = 0; h <= lunghezza; h++)
  62.     {
  63.         if(Copia[h]>='A' && Copia[h]<='Z')
  64.         {
  65.             Copia[h] = Copia[h]+32;
  66.         }
  67.         else {}
  68.     }
  69.     for(int i = 0; i < lunghezza; i++)
  70.     {
  71.         for(int y = 0; y<=contatorecontrollo; y++)
  72.         {
  73.             if(controllo[y] = Copia[i])
  74.             {
  75.                 lettereuguali = false;
  76.             }
  77.         }
  78.  
  79.         if(lettereuguali = true)
  80.         {
  81.             for(int x = 0; x != i; x++)
  82.             {
  83.                 if(Copia[i] == Copia[x])
  84.                 {
  85.                     contaoccorrenze++;
  86.                     cout<<"la lettera che si ripete e' : "<<Copia[i]<<" e' presente : "<<contaoccorrenze+1<<"volte all'interno della stringa"<<endl;
  87.                 }
  88.             }
  89.         }
  90.         controllo[i]=Copia[i];
  91.         contatorecontrollo++;
  92.         contaletteretot =  contaletteretot + contaoccorrenze;
  93.         contaoccorrenze = 0;
  94.     }
  95.     return contaletteretot;
  96. }
  97.  
  98.  
  99. bool uguali(string confronto, string Confronto)
  100. {
  101.     int lunghezza = 0,leggerestringa = 0;
  102.     bool uguali = true;
  103.     string copia,Copia;
  104.     copia = confronto;
  105.     Copia = Confronto;
  106.     lunghezza = copia.length();
  107.     leggerestringa = Copia.length();
  108.     if(lunghezza >leggerestringa)
  109.     {
  110.         for(int i = 0; i < lunghezza; i++)
  111.         {
  112.             if(copia[i]>='a' && Copia[i]<='z')
  113.             {
  114.                 copia[i] = copia[i]-32;
  115.             }
  116.             if(Copia[i]>='a' && Copia[i]<='z')
  117.             {
  118.                 Copia[i] = Copia[i]-32;
  119.             }
  120.         }
  121.     }
  122.     else
  123.     {
  124.         for(int i = 0; i < leggerestringa; i++)
  125.         {
  126.             if(copia[i]>='a' && copia[i]<='z')
  127.             {
  128.                 copia[i]=copia[i]-32;
  129.             }
  130.             if(Copia[i]>='a' && Copia[i]<='z')
  131.             {
  132.                 Copia[i]=Copia[i]-32;
  133.             }
  134.         }
  135.     }
  136.     if (copia != Copia)
  137.         uguali = false;
  138.     return uguali;
  139. }
  140.  
  141. bool palindroma(string copia)
  142. {
  143.     int y = 0;
  144.     int lunghezza = 0;
  145.     bool palindroma = true;
  146.     lunghezza = copia.length();
  147.     for(y = 0; y < (lunghezza/2); y++)
  148.     {
  149.         if(copia[y] != copia[(lunghezza-1)-y])
  150.         {
  151.             palindroma = false;
  152.         }
  153.     }
  154.     return palindroma;
  155. }
  156. int main()
  157. {
  158.     int scelta = 0;
  159.     int x = 0;
  160.     int posizione = 0;
  161.     int Posizione = 0;
  162.     do
  163.     {
  164.         cout<<" 1. Inserisci stringa"<<endl;
  165.         cout<<" 2. Scrivi stringa in MAIUSCOLO"<<endl;
  166.         cout<<" 3. Scrivi stringa in minuscolo"<<endl;
  167.         cout<<" 4. Conta quante lettere si ripetono nella tua stringa"<<endl;
  168.         cout<<" 5. Confrontare e vedere se due stringhe sono uguali"<<endl;
  169.         cout<<" 6. Controllare se una stringa e' palindroma"<<endl;
  170.         cout<<" 7. Esci"<<endl;
  171.         cout<<"Scelta dell'utente : ";
  172.         cin>>scelta;
  173.         switch(scelta)
  174.         {
  175.         case 1:
  176.         {
  177.             cout<<"Inserimento stringa : "<<endl;
  178.             x++;
  179.             cin>>sceglistringa[x];
  180.         }
  181.         break;
  182.         case 2:
  183.         {
  184.             cout<<" Trasformazione della stringa in MAIUSCOLO"<<endl;
  185.             archivio(x);
  186.             cout<<"inserisci la posizione della stringa : ";
  187.             cin>>posizione;
  188.             cout<<"la tua stringa in MAIUSCOLO e' : "<<MAIUSCOLO(sceglistringa[posizione],Posizione)<<endl;
  189.         }
  190.         break;
  191.         case 3:
  192.         {
  193.             cout<<"Trasformazione della stringa in minuscolo"<<endl;
  194.             archivio(x);
  195.             cout<<"inserisci la posizione della stringa : ";
  196.             cin>>posizione;
  197.             cout<<"la tua stringa in minuscolo e' : "<<minuscolo(sceglistringa[posizione],posizione)<<endl;
  198.         }
  199.         break;
  200.         case 4:
  201.         {
  202.             cout<<" Contare quante lettere si ripetono nella stringa"<<endl;
  203.             archivio(x);
  204.             cin>>posizione;
  205.             cout<<"le lettere che si ripetono nella stringa sono"<<corrispondenza(sceglistringa[posizione])<<endl;
  206.         }
  207.         break;
  208.         case 5:
  209.         {
  210.             cout<<"Confrontare se due stringhe sono uguali tra loro"<<endl;
  211.             archivio(x);
  212.             cout<<" posizione delle stringhe : "<<endl;
  213.             cout<<"inserisci la posizione della prima stringa : ";
  214.             cin>>posizione;
  215.             cout<<"inserisci la posizione della seconda stringa : ";
  216.             cin>>Posizione;
  217.             if(uguali(sceglistringa[posizione],sceglistringa[Posizione]) == true)
  218.                 cout<<"le stringhe sono uguali"<<endl;
  219.             else
  220.                 cout<<"le stringhe sono differenti"<<endl;
  221.         }
  222.         break;
  223.         case 6:
  224.         {
  225.             cout<<"Verificare se una stringa e' palindroma"<<endl;
  226.             archivio(x);
  227.             cout<<"inserisci la posizione della stringa : ";
  228.             cin>>posizione;
  229.             if(palindroma(sceglistringa[posizione]) == true)
  230.                 cout<<"la stringa e' palindorma"<<endl;
  231.             else
  232.                 cout<<"la stringa non e' palindroma"<<endl;
  233.         }
  234.         break;
  235.         }
  236.     }
  237.     while(scelta!=7);
  238.     return 0;
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement