martes, 5 de marzo de 2013

Programación.

Por el momento los programas mostrados no están orientados a objetos, y por el momento va a seguir siendo así, no obstante, publicaré algunos orientados a objetos.
Pero por lo general no estarán orientados.
Un Saludo.

Ordenación de vectores por el método de la burbuja.

En esta entrada expondremos un ejemplo de ordenación de vectores mediante el método de la burbuja. En programa consta de una petición inicial del número de salarios (números de elementos a comparar) y posteriormente los valores de esos salarios (en este caso). La ordenación se realizará de mayor a menor.

Código:


import java.util.Scanner;

public class Vector_2 {

/**
* @author Garcy16
* @param args
*/
public static void main(String[] args) {

// Variable para guardar el numero de sueldos a ordenar
int cantSalarios;

Scanner sc = new Scanner(System.in);

// Pedimos el numero de sueldos
System.out.println("Introduce el numero de salarios a ordenar: ");
cantSalarios = sc.nextInt();

// Declaramos el array de sueldos con la cantidad de sueldos que hemos pedido
int [] salario = new int[cantSalarios];

// Hacemos un for para pedir los sueldos
for(int c = 0; c < cantSalarios; c++)
{
System.out.println("Ves introduciendo los salarios, por favor: ");
salario[c] = sc.nextInt();
}

int aux;

// Para ordenar los vectores usamos el método de la burbuja
for (int k=1; k<cantSalarios; k++)
{
for (int f=0; f<cantSalarios-k; f++)
{
//Comprobamos si el primer salario es mayor que el segundo
if (salario[f] > salario[f+1])
{
// Si es mayor, es deci, valor true: No hace nada por que ya esta ordenado
}
// Pero si es menor es falso por lo tanto tenemos que ordenarlo.
//Guardamos el primer vector en AUX. Guardamos el segundo en la  posicion del primero.
// Y el segundo vector [j+1] lo guardamos en aux
else
{
aux = salario[f];
salario[f] = salario[f+1];
salario[f+1] = aux;
}
}
}

// imprimimos por pantalla la cantidad de sueldos.  Ordenados de Mayor a Menor
System.out.println("Salarios, de mayor a menor:  ");

for (int i=0; i<cantSalarios; i++)
System.out.println(" "+ salario[i]);
}
}

Espero que les sea de utilidad, ya que es un método de ordenación bastante útil.

Matriz Unidad.

En esta entrada expondremos como imprimir por pantalla la matriz unidad, mediante bucles anidados for.



public class MatrizUnidadAPP {
/**
* @author Garcy16
*/
public static void main (String[] args) {
double[][] mUnidad= new double[4][4];
for (int i=0; i < mUnidad.length; i++) {
for (int j=0; j < mUnidad[i].length; j++) {
if (i == j) {
mUnidad[i][j]=1.0;
}else {
mUnidad[i][j] = 0.0;
}
}
}
for (int i=0; i < mUnidad.length; i++) {
for (int j=0; j < mUnidad[i].length; j++) {
System.out.print(mUnidad[i][j]+"\t");
}
System.out.println("");
}
try{
//espera la pulsación de una tecla y luego RETORNO
System.in.read();
}catch (Exception ex) { }
}
}

El resultado sería el siguiente:

Para concluir, decir que no se si esto os será útil pero como curiosidad esta bien. Y sobre todo para comprender como funcionan los bucles for.