Java!
Posted: Sun Mar 19, 2006 06:36
Ok, so here are a bazillion versions of the same program, for some reason we decided to do at least three different ways of the same thing, the program is supposed to show the arrays and order them.
Sorry for the great mess of the code, if you guys want to comment on it, please I'd be thankful for it ^_^
[syntax="java"]
import javax.swing.*;
class Burbujas
{
public void asc(int y[])
{
int k=y.length-1,tmp,numB=0;
while(numB<k)
{
int a=k;
int b=numB;
numB=y.length;
for(int j=b;j<a;j++)
{
if(y[j]>y[j+1])
{
tmp=y[j+1];
y[j+1]=y[j];
y[j]=tmp;
if (j<numB)
{
numB=j-1;
if(numB<0)
{
numB=0;
}
}
else if(j>k)
{
k=j+1;
}
}
}
}
}
public void des(int x[])
{
int k=x.length-1,tmp,numB=0;
while(numB<k)
{
int a=k;
int b=numB;
numB=x.length;
for(int j=b;j<a;j++)
{
if(x[j]<x[j+1])
{
tmp=x[j+1];
x[j+1]=x[j];
x[j]=tmp;
if (j<numB)
{
numB=j-1;
if(numB<0)
{
numB=0;
}
}
else if(j>k)
{
k=j+1;
}
}
}
}
}
}
class BurbujaMejorada
{
public static void main(String arg[])
{
String sn[]=new String[10],salida=" ",sop;
int in[]=new int[10],iop;
Burbujas ad=new Burbujas();
for(int i=0;i<in.length;i++)
{
sn[i]=JOptionPane.showInputDialog("number "+(i+1)+": ");
in[i]=Integer.parseInt(sn[i]);
}
do
{
sop=JOptionPane.showInputDialog("Menu\n"
+"1 Ascending\n"
+"2 Descending\n"
+"3 Exit\n"
+"Choice: ");
iop=Integer.parseInt(sop);
switch(iop)
{
case 1:a.asc(in);
for(int i=0;i<in.length;i++)
{
salida+=in[i]+"\n";
}
JOptionPane.showMessageDialog(null,salida);
salida=" ";
break;
case 2:a.des(in);
for(int i=0;i<in.length;i++)
{
salida+=in[i]+"\n";
}
JOptionPane.showMessageDialog(null,salida);
salida=" ";
break;
case 3:break;
default:JOptionPane.showMessageDialog(null,"Give another number","Error",JOptionPane.ERROR_MESSAGE);
}
}while(iop!=3);
System.exit(0);
}
}
[/syntax]
Regular one...
[syntax="java"]
import javax.swing.JOptionPane;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Burbuja_Mejorada_I extends JFrame
{
public Burbuja_Mejorada_I()
{
super("R E S U L T S");
setSize(500,300);
setVisible(true);
}
public void ordenamBurbuja( int arreglo2[])
{
int nBajo = 0;
int nAlto = arreglo2.length -1;
while(nBajo< nAlto)
{
int alto = nAlto;
int bajo = nBajo;
nBajo = arreglo2.length;
for( int elemento = bajo; elemento < alto; elemento++)
{
if(arreglo2[ elemento ] > arreglo2[elemento + 1])
{
intercambiar(arreglo2, elemento, elemento + 1);
if (elemento < nBajo)
{
nBajo = elemento - 1;
if (nBajo < 0)
{
nBajo = 0;
}
}
else if (elemento > nAlto)
{
nAlto = elemento + 1;
}
}
}
}
}
public void intercambiar(int arreglo3[], int primero, int segundo)
{
int almacen;
almacen = arreglo3[primero];
arreglo3[primero] = arreglo3[segundo];
arreglo3[segundo] = almacen;
}
public void paint (Graphics g)
{
super.paint(g);
int arreglo[] = {2,4,8,1,3,5,7,6,9,10};
String salida1 = "Original array: ";
String salida1_1 = " ";
for ( int contador = 0; contador < arreglo.length; contador++)
salida1_1 += " " + arreglo[ contador ];
ordenamBurbuja(arreglo);
String salida2 = "Ascending order: ";
String salida2_1 = " ";
for ( int contador =0; contador < arreglo.length; contador++)
salida2_1 += " " + arreglo[contador];
g.setColor(Color.WHITE);
g.setFont(new Font("Monospaced", Font.BOLD,30));
g.fillRect(3,3,500,300 );
g.setColor(Color.BLUE);
g.setFont(new Font("Monospaced", Font.BOLD,30));
g.drawRect(5,31,488,263 );
g.setColor(Color.BLUE);
g.drawRect(50,40,400,50 );//Title's rectangle
g.drawRect(60,49,380,32 );//Title's rectangle
g.setColor(Color.BLACK);
g.setFont(new Font("Monospaced",Font.BOLD + Font.ITALIC,18));
g.drawString("ASCENDING ORDER ", 122, 63);
g.drawString("WITH IMPROVED BUBBLE METHOD", 85, 78);
g.setFont(new Font("Monospaced", Font.ITALIC + Font.BOLD,14));
g.setColor(Color.BLUE);
g.drawString(salida1, 50, 105);
g.setFont(new Font("Monospaced", Font.ITALIC + Font.BOLD,14));
g.setColor(Color.RED);
g.drawString(salida1_1, 60, 125);
g.setColor(Color.BLACK);
g.setFont(new Font("Monospaced", Font.ITALIC,30));
g.drawString("______________________", 50, 130);
g.setFont(new Font("Monospaced", Font.ITALIC + Font.BOLD,14));
g.setColor(Color.BLUE);
g.drawString(salida2, 50, 160);
g.setFont(new Font("Monospaced", Font.ITALIC + Font.BOLD,14));
g.setColor(Color.RED);
g.drawString(salida2_1, 60, 180);
}
public static void main(String arg[])
{
Burbuja_Mejorada_I aplicacion = new Burbuja_Mejorada_I();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
[/syntax]
The sort of prettier version...
[syntax="java"]
import java.awt.*;
import javax.swing.*;
public class AppletBurbuja extends JApplet
{
int n[] = {5,8,23,6,8,2,345,0,23,9};
int k=n.length-1,tmp,numB=0,x[] = new int[10],y[] = new int[10];
String salida;
JTextArea areaSalida=new JTextArea();
public void init()
{
for(int i=0;i<10;i++)
{
x[i]=n[i];
y[i]=n[i];
}
while(numB<k)
{
int a=k;
int b=numB;
numB=y.length;
for(int j=b;j<a;j++)
{
if(y[j]>y[j+1])
{
tmp=y[j+1];
y[j+1]=y[j];
y[j]=tmp;
if (j<numB)
{
numB=j-1;
if(numB<0)
{
numB=0;
}
}
else if(j>k)
{
k=j+1;
}
}
}
}//ascending
numB=0;
k=n.length-1;
while(numB<k)
{
int a=k;
int b=numB;
numB=x.length;
for(int j=b;j<a;j++)
{
if(x[j]<x[j+1])
{
tmp=x[j+1];
x[j+1]=x[j];
x[j]=tmp;
if (j<numB)
{
numB=j-1;
if(numB<0)
{
numB=0;
}
}
else if(j>k)
{
k=j+1;
}
}
}
}//descending
salida="normal ascending descending\n";
for(int i=0;i<10;i++)
{
salida+="\n"+n[i]+" "+y[i]+" "+x[i];
}
areaSalida.setText(salida);
Container contenedor = getContentPane();
contenedor.add(areaSalida);
}
}
[/syntax]
Headache applet version =X
Sorry for the great mess of the code, if you guys want to comment on it, please I'd be thankful for it ^_^
[syntax="java"]
import javax.swing.*;
class Burbujas
{
public void asc(int y[])
{
int k=y.length-1,tmp,numB=0;
while(numB<k)
{
int a=k;
int b=numB;
numB=y.length;
for(int j=b;j<a;j++)
{
if(y[j]>y[j+1])
{
tmp=y[j+1];
y[j+1]=y[j];
y[j]=tmp;
if (j<numB)
{
numB=j-1;
if(numB<0)
{
numB=0;
}
}
else if(j>k)
{
k=j+1;
}
}
}
}
}
public void des(int x[])
{
int k=x.length-1,tmp,numB=0;
while(numB<k)
{
int a=k;
int b=numB;
numB=x.length;
for(int j=b;j<a;j++)
{
if(x[j]<x[j+1])
{
tmp=x[j+1];
x[j+1]=x[j];
x[j]=tmp;
if (j<numB)
{
numB=j-1;
if(numB<0)
{
numB=0;
}
}
else if(j>k)
{
k=j+1;
}
}
}
}
}
}
class BurbujaMejorada
{
public static void main(String arg[])
{
String sn[]=new String[10],salida=" ",sop;
int in[]=new int[10],iop;
Burbujas ad=new Burbujas();
for(int i=0;i<in.length;i++)
{
sn[i]=JOptionPane.showInputDialog("number "+(i+1)+": ");
in[i]=Integer.parseInt(sn[i]);
}
do
{
sop=JOptionPane.showInputDialog("Menu\n"
+"1 Ascending\n"
+"2 Descending\n"
+"3 Exit\n"
+"Choice: ");
iop=Integer.parseInt(sop);
switch(iop)
{
case 1:a.asc(in);
for(int i=0;i<in.length;i++)
{
salida+=in[i]+"\n";
}
JOptionPane.showMessageDialog(null,salida);
salida=" ";
break;
case 2:a.des(in);
for(int i=0;i<in.length;i++)
{
salida+=in[i]+"\n";
}
JOptionPane.showMessageDialog(null,salida);
salida=" ";
break;
case 3:break;
default:JOptionPane.showMessageDialog(null,"Give another number","Error",JOptionPane.ERROR_MESSAGE);
}
}while(iop!=3);
System.exit(0);
}
}
[/syntax]
Regular one...
[syntax="java"]
import javax.swing.JOptionPane;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Burbuja_Mejorada_I extends JFrame
{
public Burbuja_Mejorada_I()
{
super("R E S U L T S");
setSize(500,300);
setVisible(true);
}
public void ordenamBurbuja( int arreglo2[])
{
int nBajo = 0;
int nAlto = arreglo2.length -1;
while(nBajo< nAlto)
{
int alto = nAlto;
int bajo = nBajo;
nBajo = arreglo2.length;
for( int elemento = bajo; elemento < alto; elemento++)
{
if(arreglo2[ elemento ] > arreglo2[elemento + 1])
{
intercambiar(arreglo2, elemento, elemento + 1);
if (elemento < nBajo)
{
nBajo = elemento - 1;
if (nBajo < 0)
{
nBajo = 0;
}
}
else if (elemento > nAlto)
{
nAlto = elemento + 1;
}
}
}
}
}
public void intercambiar(int arreglo3[], int primero, int segundo)
{
int almacen;
almacen = arreglo3[primero];
arreglo3[primero] = arreglo3[segundo];
arreglo3[segundo] = almacen;
}
public void paint (Graphics g)
{
super.paint(g);
int arreglo[] = {2,4,8,1,3,5,7,6,9,10};
String salida1 = "Original array: ";
String salida1_1 = " ";
for ( int contador = 0; contador < arreglo.length; contador++)
salida1_1 += " " + arreglo[ contador ];
ordenamBurbuja(arreglo);
String salida2 = "Ascending order: ";
String salida2_1 = " ";
for ( int contador =0; contador < arreglo.length; contador++)
salida2_1 += " " + arreglo[contador];
g.setColor(Color.WHITE);
g.setFont(new Font("Monospaced", Font.BOLD,30));
g.fillRect(3,3,500,300 );
g.setColor(Color.BLUE);
g.setFont(new Font("Monospaced", Font.BOLD,30));
g.drawRect(5,31,488,263 );
g.setColor(Color.BLUE);
g.drawRect(50,40,400,50 );//Title's rectangle
g.drawRect(60,49,380,32 );//Title's rectangle
g.setColor(Color.BLACK);
g.setFont(new Font("Monospaced",Font.BOLD + Font.ITALIC,18));
g.drawString("ASCENDING ORDER ", 122, 63);
g.drawString("WITH IMPROVED BUBBLE METHOD", 85, 78);
g.setFont(new Font("Monospaced", Font.ITALIC + Font.BOLD,14));
g.setColor(Color.BLUE);
g.drawString(salida1, 50, 105);
g.setFont(new Font("Monospaced", Font.ITALIC + Font.BOLD,14));
g.setColor(Color.RED);
g.drawString(salida1_1, 60, 125);
g.setColor(Color.BLACK);
g.setFont(new Font("Monospaced", Font.ITALIC,30));
g.drawString("______________________", 50, 130);
g.setFont(new Font("Monospaced", Font.ITALIC + Font.BOLD,14));
g.setColor(Color.BLUE);
g.drawString(salida2, 50, 160);
g.setFont(new Font("Monospaced", Font.ITALIC + Font.BOLD,14));
g.setColor(Color.RED);
g.drawString(salida2_1, 60, 180);
}
public static void main(String arg[])
{
Burbuja_Mejorada_I aplicacion = new Burbuja_Mejorada_I();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
[/syntax]
The sort of prettier version...
[syntax="java"]
import java.awt.*;
import javax.swing.*;
public class AppletBurbuja extends JApplet
{
int n[] = {5,8,23,6,8,2,345,0,23,9};
int k=n.length-1,tmp,numB=0,x[] = new int[10],y[] = new int[10];
String salida;
JTextArea areaSalida=new JTextArea();
public void init()
{
for(int i=0;i<10;i++)
{
x[i]=n[i];
y[i]=n[i];
}
while(numB<k)
{
int a=k;
int b=numB;
numB=y.length;
for(int j=b;j<a;j++)
{
if(y[j]>y[j+1])
{
tmp=y[j+1];
y[j+1]=y[j];
y[j]=tmp;
if (j<numB)
{
numB=j-1;
if(numB<0)
{
numB=0;
}
}
else if(j>k)
{
k=j+1;
}
}
}
}//ascending
numB=0;
k=n.length-1;
while(numB<k)
{
int a=k;
int b=numB;
numB=x.length;
for(int j=b;j<a;j++)
{
if(x[j]<x[j+1])
{
tmp=x[j+1];
x[j+1]=x[j];
x[j]=tmp;
if (j<numB)
{
numB=j-1;
if(numB<0)
{
numB=0;
}
}
else if(j>k)
{
k=j+1;
}
}
}
}//descending
salida="normal ascending descending\n";
for(int i=0;i<10;i++)
{
salida+="\n"+n[i]+" "+y[i]+" "+x[i];
}
areaSalida.setText(salida);
Container contenedor = getContentPane();
contenedor.add(areaSalida);
}
}
[/syntax]
Headache applet version =X