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 - 341 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

Lascia un messaggio ai conduttori Vai alla pagina TV

In evidenza
Classifica Mensile
Vincitori di settembre
Vincitori di settembre

Come partecipare? | Classifica Community

Community Live

Partecipa alla Community e scala la classifica

Vai al Forum | Invia appunti | Vai alla classifica

Registrati via email