Pages

miércoles, 23 de enero de 2013

Insertar n números en un arreglo ordenado Codigo Fuente en Java

Problema
Hacer un programa o algoritmo. Se tiene un arreglo "A" donde se encuentra 10 números ordenados en forma ascendente, y se pide que el algoritmo me permita el ingreso de un número y lo coloque en la posición donde debería de estar con respecto al orden del arreglo.

Codigo Fuente en Visual Java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
     int lista[]={1, 25, 28,31, 56, 98, 132, 195, 282, 502};
     int buf[]=new int[200];
     ArrayList listaen = new ArrayList();
     int w=0,C,T,tem,n;
     String cad ="";
     //agregando a la lista los datos del arreglo
     for(int i=0;i<lista.length;i++){
        listaen.add(lista[i]);
     }
     System.out.println(listaen);
     System.out.println("Ingrese la cantidad de numeros a agregar");
     C=sc.nextInt();
     //se agrega por teclado los numeros en la listaen
     for(int y=0;y<C;y++){
        System.out.println("Ingrese numero");
        n=sc.nextInt();
        listaen.add(n);
     }
     T=listaen.size();//tamaño de listaen
     System.out.println(listaen);//muestra contenido listaen
     //llenamos en buf los datos de listaen
     for(int r=0;r<T;r++){
        buf[r]=Integer.parseInt(listaen.get(r).toString());
     }
     //ordenamos el arreglo algoritmo burbuja
      while(w!=(T-1)){
         w=0;
         for(int k=0;k<(T-1);k++){
             if(buf[k]<=buf[k+1]){
                 w++;
             }else{
                tem=buf[k];
                buf[k]=buf[k+1];
  buf[k+1]=tem;
             }
         }

     }
     //muestra arreglo ordenado 
     System.out.println("arreglo ordenado"); 
     for(int i=0;i<T;i++){
        System.out.print(buf[i]+" ");
     }                
      }
}

0 comentarios:

Publicar un comentario