vicwooten
vicwooten - Erectus - 103 Punti
Salva
Si scriva la funzione C dissimilarTexts che confronta due testi e conta quanti caratteri appaiono un numero di volte diverso nel primo testo rispetto al secondo, e viceversa, ignorando le differenze tra maiuscole e
minuscole. La funzione riceve come argomenti:
– un vettore di caratteri text1 e la sua dimensione N
– un vettore di caratteri text2 e la sua dimensione M
e torna come risultato la somma di: quanti caratteri appaiono un numero diverso di volte in text1 rispetto a quante volte appaiono in tex2, PIU', quanti caratteri appaiono un numero diverso di volte in text2 rispetto a
quante volte appaiono in tex1.
Esempio: text1=”Afganistan Bananistan” text2=”banana split saporita”
la funzione deve tornare 12=5+7
Infatti:
i 5 caratteri “afgn ” appaiono in testo1 un numero diverso di volte che in testo2
i 7 caratteri “an plor” appaiono in testo2 un numero diverso di volte che in testo1
albertom
albertom - Sapiens - 340 Punti
Salva
int dissimilarTexts(char[] t1, int n, char[] t2, int m){
char[27] alfabeto1 = {0}; //salvi i caratteri del 1° vettore
char[27] alfabeto2 = {0}; //salvi i caratteri del 2° vettore
int diff=0; //intero che indica il numero di lettere differenti
int i = 0;

//dispongo le lettere dell'alfabeto alla posizione corrispondente del 1° vettore alfabeto1[0]=a||A, alfabeto1[1]=b||B ecc
for(i=0, i<n; i++){
switch(t1){
case 'a' || 'A': alfabeto1[0]++; break;
case 'b' || 'B': alfabeto1[1]++; break;
...
case ' ': alfabeto1[26]++; break;
}
}

//dispongo le lettere dell'alfabeto alla posizione corrispondente del 2° vettore alfabeto2[0]=a||A, alfabeto2[1]=b||B ecc
for(i=0, i<m; i++){
switch(t2
){
case 'a' || 'A': alfabeto2[0]++; break;
case 'b' || 'B': alfabeto2[1]++; break;
...
case ' ': alfabeto2[26]++; break;
}
}

//controllo quanti valori del 1° vettore non corrispondono a quelli del 2° vettore, ovvero quante lettere non sono presenti nella stessa quantità
for(i=0; i<26; i++)
if(alfabeto1 != alfabeto2)
diff++;

return diff;
}

Aggiunto 17 ore 19 minuti più tardi:

Penso possa funzionare :)
Questo topic è bloccato, non sono ammesse altre risposte.
Come guadagno Punti nel Forum? Leggi la guida completa
In evidenza
Classifica Mensile
Vincitori di novembre
Vincitori di novembre

Come partecipare? | Classifica Community

Community Live

Partecipa alla Community e scala la classifica

Vai al Forum | Invia appunti | Vai alla classifica

Registrati via email