Hola:
Cuando defines un array, has de poner el nº de elementos que tenga.
Si quiero un array de 3 int, haré:
Pero, a la hora de recorrerlo, iré desde miarray[0] hasta miarray[2]
Es decir, que los índices serán el 0, el 1 y el 2 (3 en total==al tamaño del array)
En tu código nuevo has definido el array como A[2][2], por lo que sólo serán válidos los índices [0] y [1] (ya que el 2 de la declaración del array indica el total de valores)
Has de mantener A[3][3] para tener un array con 3x3=9 valores en éste caso