Foro sobre Java SE > Ayuda con arreglos
Yo creo que los que preguntas es eso
Nota el vector tiene que tener al menos un elemento
public class Problemita{
public static int posMayor(int []arreglo){
int pos = 0;
int mas = arreglo[0];
for(int i = 0; i mas){
pos = i;
mas = arreglo[i];
}
}
return pos;
}
public static void main(String []args){
int []x = {1,4,2,8,5,6,10};
int []y = new int[x.length];
int []temp = (int[])x.clone();;
for(int i = 0; i < temp.length;i++){
int pos = posMayor(temp);
y[i] = pos;
temp[pos] = -1;
}
for(int i = 0; i < x.length;i++){
System.out.print(x[i]+",");
}
System.out.println();
for(int i = 0; i < x.length;i++){
System.out.print(y[i]+",");
}
}
}
ahh, y deben ser enteros positivos
¿Podría ser algo así lo que quieres obtener?
public int[] getPositions(final int[] source) {
final int length = source.length;
final int[] positions = new int[length];
final int[] ordered = Arrays.copyOf(source, length);
Arrays.sort(ordered);
for (int i = 0; i < length; i++) {
inner:
for (int k = 0; k < length; k++) {
if (ordered[i] == source[k]) {
positions[i] = k;
break inner;
}
}
}
return positions;
}
Aprendo mas con las preguntas ajenas; chevere tu codigo choces
@resalpa
Yo también aprendo siempre alguna cosa al plantearme posible soluciones; cuando menos, sirve de "entrenamiento" ;)
He añadido un break (que se me había olvidado copiar desde mis tests en NetBeans), y un label para identificar mejor qué loop se interrumpe.
Hola quisiera que me ayudaran con un problemita, tengo el siguiente arreglo
int [] x = new int [10];
en el tengo varios numeros..lo que me gustaria saber es como hacer para que me me diga en que posicion esta el valor mayor y sucesivamente. y guarde las posiciones en otro arreglo.
ej. x [ ]={1, 3, 5, 2, 8, 6, 7, 9, 4,10}
el mayor es 10 y esta en la posicion 9
entonces como hago para decirle que me guarde el valor de la posicion o indice en el arreglo y[0].