La risposta è semplice...nella funzione assegni alla matrice i valori della matrice d'appoggio...non riesco a capire ancora il motivo :/
Probabilmente quando dichiari un qualsiasi tipo di variabili il tuo compilatore le inizializza a 0,e quando fai queste istruzioni:
codice:
matrice[x][y] = matriceap[x][y]
non fai altro che copiare degli 0