private void sumarZigzag(int Matriz[][],int fila,int columna)
{
int x=0,y,temp,limite,limite2;
int suma=0;
if(columna==0){
y=-1;limite=Matriz[0].length-1;
}else{y=1;limite=0;}
if(fila==0){
temp=1;limite2=Matriz.length;
}else{temp=-1;limite2=-1;}
while(fila!=limite2)
{
if(columna==0 || columna==Matriz[0].length-1){
y*=-1;
}
if(columna==limite){
x=temp;
}
suma+=Matriz[fila][columna];
System.out.print("["+Matriz[fila][columna]+"]");
columna+=y;
fila+=x;
}
System.out.println("Suma -> " + suma);
}
public void ProcesoSumaCuarta(int Matriz[][], int Fila, int Columna) {
sumarZigzag(Matriz, Fila-1, Columna-1);
}
// Jota puede ser 0 (caso de inicio en 0,0) o N-1 (caso de inicio en 0,N-1)
// Matriz definida por v [M] [N]
// Funciona para matrices M=N, M>N y M<N
// Para los casos de inicio de suma 0,M-1 y M,N-1 se debe invertir el ciclo for
int j = 0;
int suma = 0;
boolean incremento = true;
if (j == (N-1))
incremento = false;
for (int i = 0; i < M; i++) {
suma += v[i][j];
if (incremento) {
j++;
if (j == N) {
incremento = false;
j = N -1;
j--;
}
}
else {
j--;
if (j < 0) {
incremento = true;
j = 0;
j++;
}
}
}