Ciao, l'errore sta nella prima parte in cui crei l'array di array.
codice:
for (var z=0; z<C; z++) {
matrice1[z] = new Array();
}
In questo ciclo viene definita un array di array e stai considerando C come valore limite dell'indice [z], cioè la prima dimensione dell'array, in seguito però stai usando R come limite del primo indice:
codice:
for (var i=0; i<R; i++) {
...
matrice1[i][j] = ...
...
}
Avviene quindi che la prima dimensione è definita inizialmente con il valore che inserisci per le colonne ma in seguito stai considerando il valore inserito per le righe.
Quindi se il valore di R è maggiore di C salta fuori l'errore perché chiaramente non esiste la seconda dimensione per quegli indici superiori (o uguali) al valore di C.
Forse sarebbe più corretto usare R anche nel primo ciclo in cui definisci l'array, in questo modo:
codice:
for (var z=0; z<R; z++) {
matrice1[z] = new Array();
}