pf ordarray

3
Práctica de Ordenamiento. M.C. Juan Carlos Olivares Rojas Para encontrar el valor más grande en una serie de números el algoritmo más sencillo es poner el primer valor como el más grande e ir comparándolo uno por uno. Ejemplo: 1 7 3 9 2 4 Salida: 9 Prueba Mayor =1, se compara con el 7 por lo tanto mayor = 7, se vuelve a comparar pero 3 es más pequeño, se realiza otra comparación y 9 es más grande que mayor por lo tanto mayor = 9, se compara con 2 y finalmente con 4 sin haber cambio. A continuación se muestra el código del programa: import javax.swing.JOptionPane; public class Arreglo { public static void main(String[] args) { int arreglo[]; int m; String titulo="Contenido del arreglo"; arreglo=leerArreglo(); imprimirArreglo(arreglo, titulo); m= mayor(arreglo); JOptionPane.showMessageDialog(null, "El elemento más grande es:"+m); } public static int[] leerArreglo() { int arreglo[]; int max=Integer.parseInt(JOptionPane.showInputDialog("Tamaño máximo del arreglo?")); arreglo = new int[max];

Upload: juan-carlos-olivares-rojas

Post on 18-Jul-2015

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pf ordarray

Práctica de Ordenamiento.

M.C. Juan Carlos Olivares Rojas

Para encontrar el valor más grande en una serie de números el algoritmo más sencillo es poner el primer valor como el más grande e ir comparándolo uno por uno.

Ejemplo: 1 7 3 9 2 4

Salida: 9

Prueba

Mayor =1, se compara con el 7 por lo tanto mayor = 7, se vuelve a comparar pero 3 es más pequeño, se realiza otra comparación y 9 es más grande que mayor por lo tanto mayor = 9, se compara con 2 y finalmente con 4 sin haber cambio.

A continuación se muestra el código del programa:

import javax.swing.JOptionPane;

public class Arreglo {

public static void main(String[] args) {

int arreglo[];

int m;

String titulo="Contenido del arreglo";

arreglo=leerArreglo();

imprimirArreglo(arreglo, titulo);

m= mayor(arreglo);

JOptionPane.showMessageDialog(null, "El elemento más grande es:"+m);

}

public static int[] leerArreglo() {

int arreglo[];

int max=Integer.parseInt(JOptionPane.showInputDialog("Tamaño máximo del arreglo?"));

arreglo = new int[max];

Page 2: Pf ordarray

for(int i=0;i<max;i++){

arreglo[i]=Integer.parseInt(JOptionPane.showInputDialog("Introduce el valor "+(i+1)));

}

return arreglo;

}

public static int mayor(int[] arreglo) {

int res;

res = arreglo[0];

for(int i=1; i<arreglo.length;i++){

if(arreglo[i]>res){

res = arreglo[i];

}

}

return res;

}

public static void imprimirArreglo(int[] arreglo, String t) {

String aux="";

for(int i=0; i<arreglo.length;i++){

aux+=arreglo[i]+" ";

}

JOptionPane.showMessageDialog(null, aux, t, JOptionPane.INFORMATION_MESSAGE);

}

}

Page 3: Pf ordarray

PRÄCTICA: Desarrollar un programa que permita ordenar el arreglo por el método de selección. En este método se encuentra primero el valor más grande y se coloca en la segunda posición.

Ejemplo:

Entrada: 3 7 5 9 1

Salida: 9 7 5 3 1

Prueba: primero se encuentra el valor más grande, en este caso 9 y se intercambia por el que esté en la primera posición del arreglo quedando: 9 7 5 3 1

En el segundo paso, se buscará el elemento más grande de la segunda posición hasta el fin del arreglo (la primera posición ya no cuenta por que ya está ordenado), el valor más grande es el 7, el cual debe ponerse en la segunda posición quedando: 9 7 5 3 1, es decir, alli se quedo.

Tercer paso, se busca el elemento más grande desde la tercera posición hasta el final del arreglo, en este caso es el 5, el cual queda en esa misma posición.

En la cuarta iteración (se termina aquí por que ya no hay más elementos a comparar) el valor más grande es el 3 el cual se queda allí y no hay necesidad de comparar el último elemento, el arreglo se encuentra ordenado.