Originariamente inviato da 44danni
non è giusto come ho già scritto?

codice:
if (a.length()==b.length())
Sì sì, questo è giusto. Rimarcavo solo la questione, non era una segnalazione di errore.

Originariamente inviato da 44danni
codice:
for (char ct = a.charAt(0); ct<=a.length(); ct++ )
ma pare che non entri all'interno. Per decrementare l'indice della seconda stringa ho bisogno di una variabile di appoggio?
Non riesco a raccapezzarmi.
No, nella istruzione del for non ti serve lavorare con un carattere ... ma con un indice!!

Quindi inizia a fare un ciclo for in cui hai un indice int che parte da 0 e con condizione "finché è minore della lunghezza" (di a o di b è appunto lo stesso).

Poi puoi decidere:
a) Nella espressione di inizializzazione del for dichiarare due indici (un altro in più oltre a quanto indicato sopra) che parte dal fondo e nella espressione di update incrementare uno e decrementare l'altro.

oppure

b) Lasciare come ho detto sopra e nel ciclo dedurre l'altro da lunghezza-indice-1. Se vuoi usare una variabile di appoggio va bene ma in teoria non servirebbe.

Quindi nel corpo del ciclo confronti un carattere di a con un carattere di b usando i due indici. Se i caratteri sono diversi, sai già che una stringa non è il contrario dell'altra. Ma se sono uguali, non sai ancora nulla, non puoi stampare alcun messaggio e devi andare avanti.
Solo a fine ciclo, quando avrai verificato che tutti i caratteri sono uguali (in senso contrario all'altro) allora sai che sono il contrario.