Ciao a tutti, stavo provando a realizzare una forma semplificata dell'algoritmo di Cesare, tenendo conto solo delle prime cinque lettere dell'alfabeto con un salto di 3. Il codice che ho scritto è questo:
PROGRAM CESARINO
CHARACTER:: A(50), B(50)
INTEGER:: J, N, Q, R, POS
PRINT*, 'LUNGHEZZA PAROLA'
READ*, N
PRINT*, 'PAROLA'
DO J= 1, N
READ*, A(J)
ENDDO
B(1) = 'a'
B(2) = 'b'
B(3) = 'c'
B(4) = 'd'
B(5) = 'e'
DO J= 1, N
! DOVRESTI TROVARE A(J) NELL'ARRAY B(J) ED AGGIUNGERE
CALL ricbin (B, N, A(J), POS)
IF (POS<=2) THEN
A(J) = B(POS+3)
ELSE
Q= (POS+3)/5
R= (POS+3) - 5*Q
A(J) = B(R)
ENDIF
ENDDO
DO J= 1, N
PRINT*, A(J)
ENDDO
END PROGRAM
Il compilatore non mi dà errori, ma il programma non funziona..c'è qualcosa che ho sbagliato concettualmente?