ALGORITMO DI CESARE, FORTRAN

di il
2 risposte

ALGORITMO DI CESARE, FORTRAN

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?

2 Risposte

  • Re: ALGORITMO DI CESARE, FORTRAN

    "Non funziona" cosa vuol dire esattamente? Cosa fai? Cosa succede?
  • Re: ALGORITMO DI CESARE, FORTRAN

    Allora, inserendo in input qualsiasi parola (dove per parola ammetto anche le nonsense come "ab"), mi restituisce in output sempre la parola con tutte le lettere uguali ad "a". Tipo, inserendo "ab" oppure "cd", il risultato è sempre "aa"
Devi accedere o registrarti per scrivere nel forum
2 risposte