School-Coding-Cpp/sfusi/esercizioInterrogazione_Mar...

76 lines
1.8 KiB
C++

/*
Nome: Mario
Cognome: Montanari
*/
#include <iostream>
#include <ctime>
#define USO 20
#define DIM 2000
#define VMAX 'z'
#define VMIN 'a'
using namespace std;
typedef struct{
char ch1;
char ch2;
}elemento;
typedef struct{
int CVU; //coppie vocali uguali
int CCU; //coppie consonanti uguali
int posizioni[DIM];
}result;
void initArray(elemento arr[], int size){
for(int i= 0; i < size ; i++){
arr[i].ch1 = rand()%(VMAX-VMIN+1)+VMIN;
arr[i].ch2 = rand()%(VMAX-VMIN+1)+VMIN;
}
}
void stampaArray(elemento arr[], int size){
for(int i= 0; i < size ; i++){
if(arr[i].ch1 == arr[i].ch2){
cout << arr[i].ch1 << endl;
cout << arr[i].ch2 << endl;
cout << endl;
}
}
}
result risultato(elemento arr[], int size){
int index=0;
result risultato = {0,0,0};
for(int i = 0; i<size ; i++){
if(arr[i].ch1 == arr[i].ch2){
risultato.posizioni[index]=i;
index++;
if(arr[i].ch1 == 'a' || arr[i].ch1 == 'e' || arr[i].ch1 == 'i' || arr[i].ch1 == 'o' || arr[i].ch1 == 'u'){
risultato.CVU++;
}
else{
risultato.CCU++;
}
}
}
return risultato;
}
int main(void){
srand(time(NULL));
elemento arr[DIM];
initArray(arr,USO);
stampaArray(arr,USO);
result Result = risultato(arr,USO);
cout<<"Indici di posizone degli elementi uguali: ";
for(int loop=0;loop<Result.CCU+Result.CVU;loop++){
cout<<Result.posizioni[loop]<<" ";
}
cout<<endl;
cout<< "Coppie consonanti uguali:" <<Result.CCU<<endl;
cout<< "Coppie vocali uguali:" <<Result.CVU<<endl;
return 0;
}