Ho provato a buttare già qualcosa.... che ne dite? può andar bene? non mi compila ma penso che la logica ci sia no? magari c'è qualche piccolo errore..
In pratica ..spiego quello che ho fatto:codice:bool distanzaAlfabetica(char a[], int dim){ if(dim%2 != 0) //per far terminare subito la funzione in caso di stringa dispari return false; if(a[i]=='\0') //passo base return true; int distanza= a[0] - a[dim/2]; if(a[i] - a[dim/2+i] != distanza) //passo ricorsivo return false; distanzaAlfabetica(a[], dim, i+1); }//chiusura funzione
Ho messo la differenza tra i due caratteri che dovrebbero formare la coppia(il primo carattere della stringa e il primo carattere della metà della stringa) in una variabile intera chiamata distanza. Poi ho fatto una verifica: se tutte le coppie successive hanno la stessa "distanza" la funzione restituisce true altrimenti false.

Rispondi quotando