tenngo q ordenar esta matriz en forma ascendente y no me sale y tambien si me pueden ayudar a en contrar los numero que se repiten y cuantas veces jeje
import javax.swing.JOptionPane;
public class Matriz21{
public static void main(String efra[]){
String salida,salida2;
salida=" MATRIZ ";
salida2="";
int matriz[][]=new int [4][3];
int mayor, menor,n;
mayor=0;
menor=0;
int posXMayor, posYMayor, posXMenor, posYMenor;
posXMayor=0;
posYMayor=0;
posXMenor=0;
posYMenor=0;
for(int i=0;i<4;i++)
{
salida+="\n";
for(int j=0;j<3;j++)
{
n=Integer.parseInt(JOptionPane.showInputDialog("INGRESA NUMERO"+ i, j));
matriz[j]=n;
salida+=matriz[j]+" ";
}
}
for(int i=0;i<4;i++)
{
for(int j=0;j<3;j++)
{
if(matriz[j] > mayor)
{
posXMayor = i;
posYMayor = j;
mayor = matriz[j];
}
if(matriz[j] < menor||)
{
posXMenor = i;
posYMenor = j;
menor = matriz[j];
}
}
}
salida2+="NUMERO MENOR="+menor+"\nPOSICION="+posXMenor+","+ posYMenor+"\nNUMERO MAYOR="+mayor+"\nPOSICION="+posXMayor+","+ posYMayor;
JOptionPane.showMessageDialog(null,salida+"\n"+salida2,null,JOptionPane.PLAIN_MESSAGE);
}
}
Por internet hay muchísimos métodos de ordenación, e incluso hay páginas que te los muestran ya implementados en algunos lenguajes, por ejemplo en Wikipedia está:
public static int[] OrdenarBurbuja(int[] n){
int temp;
int t = n.length;
for (int i = 1; i < t; i++) {
for (int k = t- 1; k >= i; k--) {
if(n[k] < n[k-1]){
temp = n[k];
n[k] = n[k-1];
n[k-1]= temp;
}//fin if
}// fin 2 for
}//fin 1 for
return n;
}
Puesto que el método lo que ordena es un array puedes hacer dos cosas, o lo modificas para que ordene una matríz (la modificación es mínima) o en vez de usar una matriz usas un array. Para saber los números que se repiten puedes usar un HashMap<Integer, Integer>. En este post expliqué algo parecido pero con palabras: http://foro.elhacker.net/java/como_elaborar_este_programa_en_java_no_puedooiexcliexcl-t330838.0.html
Solo tendrías que modificarlo un poco, y a la hora de recorrerlo si el número solo ha aparecido una vez no lo muestras, si ha aparecido más de 1 vez entonces es porque se repite.
Saludos.