Gracias!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúpublic static String tagger(String a, String b){
//declaración de strings
String x1 = "";
String a1 = "[target]";
String a2 = "[endtarget]";
boolean bol = true;
int n;
//Tenemos que conseguir las subristas de b que aparecen en a
for(int i = 0; i < a.length(); i++){
n = b.indexOf(a.charAt(i)); //posición del caracter de a contenido en b
if(n != -1){
bol = true;
}
if(n == -1){
bol = false;
}
if(bol){
x1 = x1 + a.charAt(i);
}else{
x1 = x1 + " ";
}
}
int w1,n3;
String aux = "";
x1 = " " + x1 + " "; //para que siempre encuentra un espacio a la izqda y no se salga de rango
for(int k = 0; k < x1.length(); k++){
w1 = x1.charAt(k);
if(w1 != ' ' && x1.charAt(k-1) == ' '){ // no es un espacio pero el anterior si es un espacio
n3 = x1.indexOf(" ",k); //busca la posición del próximo espacio
aux = x1.substring(k,n3);
a = a.replaceFirst(aux,a1+aux+a2);
}
}
return a;
}
}
import java.util.Scanner;
public class ordenar {
public static int [] ordenarVector (int n[]){
int aux = 0;
int ordenado [] = new int [n.length];
for(int i = 0; i < n.length - 1; i++){
for(int k = i + 1; k < n.length; k++){
if(n[k] < n[i]){
aux = n[i];
n[i] = n[k];
n[k] = aux;
}
}
}
return ordenado;
}
public static int [][] ordenarMatriz (int n[][]){
int vectorAux [] = new int [n.length * n[0].length];
int contAux = 0;
/*Rellenamos el vector auxiliar con los elementos
*de la matriz para poder ordenarlo.
*/
for(int k = 0; k < n.length; k++){
for(int l = 0; l < n[k].length; l++){
vectorAux[contAux] = n[k][l];
contAux++;
}
}
int aux = 0;
for(int i = 0; i < vectorAux.length - 1; i++){
for(int j = i + 1; j < vectorAux.length; j++){
if(vectorAux[j] < vectorAux[i]){
aux = vectorAux[i];
vectorAux[i] = vectorAux[j];
vectorAux[j] = aux;
}
}
}
//Ponemos los valores ordenados de nuevo en la matriz.
int cont = 0;
for(int k = 0; k < n.length; k++){
for(int l = 0; l < n[k].length; l++){
n[k][l] = vectorAux[cont];
cont++;
}
}
return n;
}
public static void mostrarVector(int array[]){
for(int i = 0; i < array.length; i++){
System.out.print(array[i]);
}
System.out.println();
}
public static void pedirElementos(int array []){
Scanner leer = new Scanner(System.in);
for(int i = 0; i < array.length; i++){
System.out.print("Elemento ["+i+"]:" );
array [i] = leer.nextInt();
}
}
public static void pedirElementosBi(int array [][]){
Scanner leer = new Scanner(System.in);
for(int i = 0; i < array.length; i++){
for(int j = 0; j < array[i].length;j++){
System.out.print("Elemento ["+i+j+"]:" );
array [i][j] = leer.nextInt();
}
}
}
public static void mostrarMatriz(int array [][]){
for(int i = 0; i < array.length; i++){
for(int j = 0; j < array[i].length;j++){
System.out.print(array[i][j]+" ");
}
System.out.println();
}
}
public static void main(String [] args){
Scanner leer = new Scanner (System.in);
System.out.println("Ordenar arrays");
System.out.println("1-monodimensional");
System.out.println("2-bidimensional");
int x = leer.nextInt();
switch(x){
case 1:
System.out.println("Longuitud del vector");
int n = leer.nextInt();
int vector [] = new int [n];
pedirElementos(vector);
System.out.println();
mostrarVector(vector);
int [] ordenado = ordenarVector(vector);
mostrarVector(ordenado);
break;
case 2:
System.out.println("Filas");
int nF = leer.nextInt();
System.out.println("Columnas");
int nC = leer.nextInt();
int matriz [][] = new int [nF][nC];
pedirElementosBi(matriz);
System.out.println();
int [][] matrizOrdenada = ordenarMatriz(matriz);
mostrarMatriz(matrizOrdenada);
break;
default:
System.out.println("Un 1 o un 2 imbécil");
}
}
}
Cita de: zonahurbana en 19 Octubre 2013, 21:40 PMNo entiendo muy bien tu pregunta, mat.length es la cantidad de filas de la "matriz", sí, pero eso es un método, se supone que esta diseñado para que funcione sean los valores que sean los de las filas y las columnas.
Es decir, ¿sería lo mismo si se usará mat[1], mat[2] u otro número siempre que no se exceda mat.length-1?
Ya que, mat.length es la cantidad de filas de la matriz, ¿verdad?
public class Excercise {
public static float[] sum(float[][] mat) {
float[] myArray = new float [mat[0].length];
for(int i = 0; i < mat[0].length; i++){
float suma = 0;
for(int j = 0; j < mat.length; j++){
suma += mat[j][i];
}
myArray[i] = suma;
}
return myArray;
}
}