Java - expansion de arreglos bidimensionales

 
Vista:

expansion de arreglos bidimensionales

Publicado por Yanitza (4 intervenciones) el 13/03/2007 21:11:43
Tengo problemas para la expansion de los arreglos bidimensionales. Los unidimensionales los expamdo de este modo:

public int[] AjustVector(int[] arr){
int[] orig = arr;
arr = new int[orig.length +1];
for (int i=0; i<orig.length; i++){
arr[i]=orig[i];
}
return arr;
}

Pero tengo problemas con los bidimensionales.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:expansion de arreglos bidimensionales

Publicado por Angel (537 intervenciones) el 14/03/2007 09:22:42
A ver que tal:

public int[] AjustVector(int[][] arr){
int[][] orig = arr;
arr = new int[orig.length +1];
for (int i=0; i<orig.length; i++){
arr[i] = new int[orig[i].length+1];
for(int j=0;j<orig[i].length;j++){
arr[i][j] = orig[i][j];
}
}
return arr;
}

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:expansion de arreglos bidimensionales

Publicado por yanitza (4 intervenciones) el 14/03/2007 15:09:36
No, ese no me pincho, yo lo hago de este modo, primero adiciono las filas, luego las columnas, en dos funciones diferentes, tampoco me pincha.

public int[][] AjustFilas(int[][] arr){
int[][] orig = arr;
arr = new int[orig.length +1][];
for (int i=0; i<orig.length; i++){
int k = orig[i].length;
arr[i]=new int[k];
for (int j=0; j<k; j++){
arr[i][j]=orig[i][j];
}
}
return arr;
}

public int[][] AjustColumnas(int[][] arr){
int[][] orig = arr;
int col = orig[orig.length -1].length +1;//adiciono 1 a la cantidad de columnas que tiene la ultima fila
arr[orig.length-1] = new int[col];
for (int i=0; i<orig.length; i++){
for (int j=0; j<orig[i].length; j++){
arr[i][j]=orig[i][j];
}
}
return arr;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:expansion de arreglos bidimensionales

Publicado por Angel (537 intervenciones) el 14/03/2007 15:50:21
Tienes razon,,,en realidad el codigo es mucho mas sencillo

public int[][] AjustVector(int[][] arr){
int[][] orig = arr;
for (int i=0; i<orig.length; i++){
arr = new int[orig.length +1][orig[i].length+1];
for(int j=0;j<orig[i].length;j++){
arr[i][j] = orig[i][j];
}
}
return arr;
}

Saludos.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:expansion de arreglos bidimensionales

Publicado por Yanitza (4 intervenciones) el 14/03/2007 17:54:48
Si, pero yo necesito que la cantidad de elementos de cada fila no sea igual, quiero decir que en cada fila puede haber distinto numero de columnas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:expansion de arreglos bidimensionales

Publicado por angel (537 intervenciones) el 14/03/2007 22:19:32
public static int[][] AjustVector(int[][] arr){
int[][] orig = arr;
arr = new int[orig.length +1][orig.length+1];
for (int i=0; i<orig.length; i++){
arr[i] = new int[orig[i].length+1];
for(int j=0;j<orig[i].length;j++){
arr[i][j] = orig[i][j];
}
}
return arr;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar