La cosa più difficile da fare non è il programma ma il debugging.

Quando scrivi il programma e non funziona, dedica un po' di tempo alla sua correzione, non scrivere subito sul forum.

Hai fatto un po' di debugging? Hai eseguito linea per linea e hai controllato che ogni linea facesse quello che pensavi?