Ejercicio vectores

 Introducción a los vectores (arrays)

Crea un programa que permita realizar "DE FORMA MODULAR (acciones y / o funciones)" las siguientes tareas:
a) Iniciar un array de n posiciones con valores numéricos enteros entre 1 y 100.
b) Visualizar el array por pantalla adecuadamente presentado. Por ejemplo:
1 3 5 6 10 15 20

67 66 66 4 12 10 20

5 1 2 7 ***
c) Borrar todo el array. Pone en todas sus posiciones un 0.
d) Presentar estadísticas. Visualiza por pantalla la frecuencia de aparición de los números ordenados de mayor a menor. No aparecen los que no existen dentro del array.
56 (15 veces) ***************
45 (10 veces) **********
15 (10 veces) **********
6 (4 veces) ****
5 (2 veces) **
e) Calcular la media de los elementos del array con dos decimales.
f) Invertir el array
g) Ordenar el array mediante los métodos de Bubblesort, Inserción y Quicksort. No modificar el contenido del vector original.
Ampliación -> medir el tiempo.Por ejemplo:
Método de la burbuja: 1 seg 110 milésimas
Método de inserción: 1 seg 9 milésimas
Método de Quicksort: 587 milésimas
menú
a) Inicializar
b) Visualizar
c) Borrar
d) Estadísticas
e) Media
f) Invertir
g) Ordenar

  1. import cs1.*;
  2.    import java.text.SimpleDateFormat;
  3.    import java.text.DateFormat;
  4.    import java.util.Date;
  5.    import java.text.DecimalFormat;
  6.    import java.io.*;
  7.    import java.util.*;
  8.    import java.lang.Math.*;
  9.    public class ex1 {
  10.    
  11.       public static void Inicialitzar(int vec[]int limit){
  12.      
  13.          
  14.          int index;
  15.      
  16.          for (index = 0; index < limit; index++)   //  Posem valors a l'array (vector)
  17.             vec[index] = (int)Math.round((Math.random()*100));
  18.      
  19.      
  20.       }
  21.    
  22.    
  23.       public static void Visualitzar(int arr[]int LIMIT){
  24.          int index,len;
  25.          int salt=0;
  26.          String len1;
  27.          
  28.          
  29.          for (index = 0; index < LIMIT; index++){   // Visualitza el contingut de cada casella
  30.          
  31.             len = arr[index];
  32.             len1=Integer.toString(len);
  33.             len = len1.length();
  34.            
  35.            
  36.             if(len==1){
  37.            
  38.                System.out.print (" "+arr[index] + "  ");
  39.            
  40.             }
  41.             else{
  42.                System.out.print (arr[index] + "  ");
  43.             }
  44.             salt++;
  45.             if(salt==6){
  46.                salt=0;
  47.                System.out.println("\n");
  48.             }
  49.            
  50.          }
  51.          
  52.          salt= 6-salt;
  53.        
  54.          for(int x=0; x<salt; x++){
  55.          
  56.             System.out.print(" *  ");
  57.          
  58.          }
  59.        
  60.       }
  61.      
  62.        
  63.       public static void esborrar(int arr[]int limit){
  64.      
  65.          int index;
  66.      
  67.          for(index=0;limit>index;index++){
  68.             arr[index] = 0;
  69.          
  70.          
  71.          }
  72.      
  73.       }
  74.      
  75.       public static void Estadistiques(int arr[]){
  76.      
  77.      
  78.      
  79.       }
  80.      
  81.       public static void Mitjana(int arr[]){
  82.      
  83.          int index, suma=0;
  84.          double mitjana;
  85.      
  86.          for(index=0;arr.length>index;index++){
  87.          
  88.             suma = suma + arr[index];
  89.          
  90.          }
  91.          mitjana = arr.length;
  92.      
  93.          mitjana = suma/mitjana;
  94.          
  95.          DecimalFormat harry = new DecimalFormat("0.00");
  96.        
  97.        
  98.      
  99.          System.out.println("La mitjana és: "+harry.format(mitjana));
  100.      
  101.       }
  102.        
  103.       public static void Invertir(int arr[]){
  104.      
  105.          int invertir_int[] = new int[arr.length];
  106.          int maximo = arr.length;
  107.          int i,len,salt=0;
  108.          String len1;
  109.      
  110.          for (= 0; i<arr.length; i++) {
  111.             invertir_int[maximo - 1] = arr[i];
  112.             maximo--;
  113.          }
  114.          
  115.      
  116.          for(=0; i<invertir_int.length; i++) {
  117.             len = invertir_int[i];
  118.             len1=Integer.toString(len);
  119.             len = len1.length();
  120.          
  121.             if(len==1){
  122.            
  123.                System.out.print (" "+invertir_int[i] + "  ");
  124.            
  125.             }
  126.             else{
  127.                System.out.print (invertir_int[i] + "  ");
  128.             }
  129.             salt++;
  130.             if(salt==6){
  131.                salt=0;
  132.                System.out.println("\n");
  133.             }
  134.            
  135.          }
  136.          
  137.          salt= 6-salt;
  138.        
  139.          for(int x=0; x<salt; x++){
  140.          
  141.             System.out.print(" *  ");
  142.          
  143.          }
  144.      
  145.          
  146.          
  147.       }
  148.          
  149.        
  150.      
  151.        
  152.       public static void Ordenar_bombolla(int arr[]){
  153.      
  154.      
  155.          int aux;
  156.      
  157.        
  158.          for(int i = 0; i < arr.length; i++){
  159.          
  160.            
  161.             for (int j = i + 1; j < arr.length; j++){
  162.                
  163.                if(arr[j]< arr[i]){
  164.                    
  165.                   aux = arr[i];
  166.                   arr[i] = arr[j];
  167.                   arr[j] = aux;
  168.                }
  169.             }          
  170.          }
  171.          
  172.          int index,len;
  173.          int salt=0;
  174.          String len1;
  175.          
  176.          
  177.          for (index = 0; index < arr.length; index++){   // Visualitza el contingut de cada casella
  178.          
  179.             len = arr[index];
  180.             len1=Integer.toString(len);
  181.             len = len1.length();
  182.            
  183.            
  184.             if(len==1){
  185.            
  186.                System.out.print (" "+arr[index] + "  ");
  187.            
  188.             }
  189.             else{
  190.                System.out.print (arr[index] + "  ");
  191.             }
  192.             salt++;
  193.             if(salt==6){
  194.                salt=0;
  195.                System.out.println("\n");
  196.             }
  197.            
  198.          }
  199.          
  200.          salt= 6-salt;
  201.        
  202.          for(int x=0; x<salt; x++){
  203.          
  204.             System.out.print(" *  ");
  205.          
  206.          }
  207.      
  208.        
  209.          
  210.        
  211.      
  212.       }
  213.      
  214.       public static void ordenar_insercio(int arr[]){
  215.          for (int i=1; i < arr.length; i++){
  216.             int harry = arr[i];
  217.             int j;
  218.          
  219.             for (j=i-1;>= 0 && arr[j] > harry;j--){
  220.                arr[+ 1] = arr[j];
  221.            
  222.             }
  223.          
  224.             arr[j+1] = harry;
  225.          }
  226.      
  227.      
  228.       }
  229.      
  230.       public static void ordena_Quicksort(int arr[]){
  231.      
  232.      
  233.       }
  234.    
  235.    
  236.       public static void main(String args[]){
  237.          String opcio;
  238.          int limit;
  239.          System.out.print("Introdueix el limit del array: ");
  240.          limit = Keyboard.readInt();
  241.          int vec[]= new int[limit];
  242.      
  243.          do{
  244.          
  245.             System.out.println("\n\nMenú");
  246.             System.out.println("\na) Inicialitzar");
  247.             System.out.println("b) Visualitzar");
  248.             System.out.println("c) Esborrar");
  249.             System.out.println("d) Estadístiques");
  250.             System.out.println("e) Mitjana");
  251.             System.out.println("f) Invertir");
  252.             System.out.println("g) Ordenar");
  253.             System.out.println("h) Sortir");
  254.          
  255.             System.out.println("Escull una opció: ");
  256.             opcio = Keyboard.readString();
  257.             opcio = opcio.toUpperCase();
  258.             System.out.println();
  259.          
  260.          
  261.          
  262.             if(opcio.equals("A")){
  263.            
  264.                Inicialitzar(vec,limit);
  265.            
  266.             }
  267.                        
  268.             if(opcio.equals("B")){
  269.            
  270.                Visualitzar(vec,limit);
  271.            
  272.            
  273.             }
  274.                
  275.             if(opcio.equals("C")){
  276.            
  277.                esborrar(vec,limit);
  278.            
  279.             }
  280.                        
  281.             if(opcio.equals("D")){
  282.            
  283.             }
  284.                
  285.             if(opcio.equals("E")){
  286.            
  287.                Mitjana(vec);
  288.            
  289.             }
  290.                
  291.             if(opcio.equals("F")){
  292.            
  293.                Invertir(vec);
  294.             }
  295.                        
  296.             if(opcio.equals("G")){
  297.                String met;
  298.                
  299.                System.out.println("Amb quin mètode vols ordenar: ");
  300.                System.out.println("a) Bombolla.");
  301.                System.out.println("b) Inserció.");
  302.                System.out.println("c) Quicksort.");
  303.                
  304.                System.out.print(" Escull una opció: ");
  305.                met = Keyboard.readString();
  306.                met = met.toUpperCase();
  307.                
  308.                if(met.equals("A")){
  309.                
  310.                   System.out.println("Has escollit el Mètode de la bombolla: ");
  311.                
  312.                   Ordenar_bombolla(vec);
  313.                }
  314.                
  315.                else if(met.equals("B")){
  316.                   ordenar_insercio(vec);
  317.                }
  318.                
  319.                else if(met.equals("C")){
  320.                
  321.                }
  322.                
  323.                
  324.                else{
  325.                
  326.                
  327.                   System.out.println("Opció no vàlida.");
  328.                }
  329.                
  330.             }
  331.                
  332.          
  333.          }while(!opcio.equals("H"));
  334.      
  335.       }
  336.    }

No hay comentarios:

Publicar un comentario