Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- string sceglistringa[1000];
- void archivio(int y)
- {
- int x=0;
- for(x=1; x<=y; x++)
- {
- cout<<sceglistringa[x]<<"in posizione : "<<x<<endl;
- }
- }
- string MAIUSCOLO(string z,int k)
- {
- int lunghezza = 0;
- string copia;
- copia = z;
- lunghezza = copia.length();
- for(int i = 0; i < lunghezza; i++)
- {
- if(copia[i]>='a' && copia[i]<='z')
- {
- copia[i]=copia[i]-32;
- }
- }
- sceglistringa[k] = copia;
- return sceglistringa[k];
- }
- string minuscolo(string w,int y)
- {
- int lunghezza = 0;
- string copia;
- copia = w;
- lunghezza = copia.length();
- for(int j = 0; j < lunghezza; j++)
- {
- if(copia[j]>='A' && copia[j]<='Z')
- {
- copia[j] = copia[j]+32;
- }
- }
- sceglistringa[y]=copia;
- return sceglistringa[y];
- }
- int corrispondenza(string copia)
- {
- int lunghezza = 0, contaoccorrenze = 0,contaletteretot = 0,contatorecontrollo = 0;
- string Copia;
- char controllo[1000];
- bool lettereuguali = true;
- Copia = copia;
- lunghezza = Copia.length();
- for(int h = 0; h <= lunghezza; h++)
- {
- if(Copia[h]>='A' && Copia[h]<='Z')
- {
- Copia[h] = Copia[h]+32;
- }
- else {}
- }
- for(int i = 0; i < lunghezza; i++)
- {
- for(int y = 0; y<=contatorecontrollo; y++)
- {
- if(controllo[y] = Copia[i])
- {
- lettereuguali = false;
- }
- }
- if(lettereuguali = true)
- {
- for(int x = 0; x != i; x++)
- {
- if(Copia[i] == Copia[x])
- {
- contaoccorrenze++;
- cout<<"la lettera che si ripete e' : "<<Copia[i]<<" e' presente : "<<contaoccorrenze+1<<"volte all'interno della stringa"<<endl;
- }
- }
- }
- controllo[i]=Copia[i];
- contatorecontrollo++;
- contaletteretot = contaletteretot + contaoccorrenze;
- contaoccorrenze = 0;
- }
- return contaletteretot;
- }
- bool uguali(string confronto, string Confronto)
- {
- int lunghezza = 0,leggerestringa = 0;
- bool uguali = true;
- string copia,Copia;
- copia = confronto;
- Copia = Confronto;
- lunghezza = copia.length();
- leggerestringa = Copia.length();
- if(lunghezza >leggerestringa)
- {
- for(int i = 0; i < lunghezza; i++)
- {
- if(copia[i]>='a' && Copia[i]<='z')
- {
- copia[i] = copia[i]-32;
- }
- if(Copia[i]>='a' && Copia[i]<='z')
- {
- Copia[i] = Copia[i]-32;
- }
- }
- }
- else
- {
- for(int i = 0; i < leggerestringa; i++)
- {
- if(copia[i]>='a' && copia[i]<='z')
- {
- copia[i]=copia[i]-32;
- }
- if(Copia[i]>='a' && Copia[i]<='z')
- {
- Copia[i]=Copia[i]-32;
- }
- }
- }
- if (copia != Copia)
- uguali = false;
- return uguali;
- }
- bool palindroma(string copia)
- {
- int y = 0;
- int lunghezza = 0;
- bool palindroma = true;
- lunghezza = copia.length();
- for(y = 0; y < (lunghezza/2); y++)
- {
- if(copia[y] != copia[(lunghezza-1)-y])
- {
- palindroma = false;
- }
- }
- return palindroma;
- }
- int main()
- {
- int scelta = 0;
- int x = 0;
- int posizione = 0;
- int Posizione = 0;
- do
- {
- cout<<" 1. Inserisci stringa"<<endl;
- cout<<" 2. Scrivi stringa in MAIUSCOLO"<<endl;
- cout<<" 3. Scrivi stringa in minuscolo"<<endl;
- cout<<" 4. Conta quante lettere si ripetono nella tua stringa"<<endl;
- cout<<" 5. Confrontare e vedere se due stringhe sono uguali"<<endl;
- cout<<" 6. Controllare se una stringa e' palindroma"<<endl;
- cout<<" 7. Esci"<<endl;
- cout<<"Scelta dell'utente : ";
- cin>>scelta;
- switch(scelta)
- {
- case 1:
- {
- cout<<"Inserimento stringa : "<<endl;
- x++;
- cin>>sceglistringa[x];
- }
- break;
- case 2:
- {
- cout<<" Trasformazione della stringa in MAIUSCOLO"<<endl;
- archivio(x);
- cout<<"inserisci la posizione della stringa : ";
- cin>>posizione;
- cout<<"la tua stringa in MAIUSCOLO e' : "<<MAIUSCOLO(sceglistringa[posizione],Posizione)<<endl;
- }
- break;
- case 3:
- {
- cout<<"Trasformazione della stringa in minuscolo"<<endl;
- archivio(x);
- cout<<"inserisci la posizione della stringa : ";
- cin>>posizione;
- cout<<"la tua stringa in minuscolo e' : "<<minuscolo(sceglistringa[posizione],posizione)<<endl;
- }
- break;
- case 4:
- {
- cout<<" Contare quante lettere si ripetono nella stringa"<<endl;
- archivio(x);
- cin>>posizione;
- cout<<"le lettere che si ripetono nella stringa sono"<<corrispondenza(sceglistringa[posizione])<<endl;
- }
- break;
- case 5:
- {
- cout<<"Confrontare se due stringhe sono uguali tra loro"<<endl;
- archivio(x);
- cout<<" posizione delle stringhe : "<<endl;
- cout<<"inserisci la posizione della prima stringa : ";
- cin>>posizione;
- cout<<"inserisci la posizione della seconda stringa : ";
- cin>>Posizione;
- if(uguali(sceglistringa[posizione],sceglistringa[Posizione]) == true)
- cout<<"le stringhe sono uguali"<<endl;
- else
- cout<<"le stringhe sono differenti"<<endl;
- }
- break;
- case 6:
- {
- cout<<"Verificare se una stringa e' palindroma"<<endl;
- archivio(x);
- cout<<"inserisci la posizione della stringa : ";
- cin>>posizione;
- if(palindroma(sceglistringa[posizione]) == true)
- cout<<"la stringa e' palindorma"<<endl;
- else
- cout<<"la stringa non e' palindroma"<<endl;
- }
- break;
- }
- }
- while(scelta!=7);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement