Era un problema di visibilità variabili dunque
No, scusa la precisazione: era (anzi è) un problema del tuo algoritmo.
Ci sei arrivato per tentativi e questa non è una buona cosa nel senso che non sei in grado di spiegare come funziona il tuo programma.
Fossi in te, farei un flow chart su carta dell'algoritmo dando un nome diverso a ciascuna variabile; sulla base di questo flow chart poi riscriverei il programma.