ALGORITMOS EN JAVA

9,778 views
9,721 views

Published on

Son algoritmos con el codigo en java

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,778
On SlideShare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
565
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

ALGORITMOS EN JAVA

  1. 1. DESARROLLO DE LA PRACTICA Nº1<br />EJERCICIO Nº1:<br />Implementar una aplicación que permita el ingreso de n valores numéricos a un vector y se calcule: El promedio, la desviación estándar y la cantidad de elementos sobre el promedio.<br />import java.io.*;<br />class ejercicio1<br />{<br />public static void main(String [ ] ar)<br />{<br />BufferedReader ingreso = new BufferedReader(new InputStreamReader(System.in));<br />int [] V ;<br />int n=0;<br />double prom=0, desviacion, comp;<br />try<br />{<br />do<br />{<br />System.out.print(" Ingrese La cantidad de elementos: " );<br />n=Integer.parseInt(ingreso.readLine());<br />}while (n<0);<br />V = new int [n];<br />llenarVector(V, n, ingreso);<br />//se halla el promedio<br />prom = promedio(prom, V, n);<br />//se halla la desviacion estandar<br />desviacion = desviacion(prom, V, n);<br /> //la cantidad de elementos mayores al promedio<br /> comp=comparacion(prom, V, n);<br />System.out.println(" El promedio de los numeros ingresados es: " +prom);<br />System.out.println(" La desviacion estandar es: " +desviacion);<br />System.out.println(" La cantidad de elementos mayores al promedio es: " +comp);<br />}<br />catch (Exception error)<br />{<br />System.out.println(" Error en el ingreso de datos " +error);<br />}<br />}<br />// definicion de funciones y procedimientos<br />public static void llenarVector(int [] A, int x, BufferedReader ent) throws IOException<br />{<br />for(int i=0;i<x;i++)<br />{<br />System.out.print(" El elemento nº" +i+" del vector: " );<br />A[i]= Integer.parseInt(ent.readLine());<br />}<br />}<br />public static double promedio(double prom, int [] V, int n)<br />{<br /> for (int i=0;i<n;i++)<br />{<br /> prom=prom+V[i];<br />}<br />prom=prom/n;<br />return prom;<br />}<br />public static double desviacion(double prom, int [] V, int n)<br />{<br />double desvcua, desv, desvestan=0;<br /> for (int i=0;i<n;i++)<br />{<br /> desv=V[i]-prom;<br /> desvcua=desv*desv;<br /> for(i=0;i<n;i++)<br /> {<br /> desvestan=desvestan + desvcua;<br /> }<br />}<br />desvestan=Math.sqrt(desvestan/(n*(n-1)));<br />return desvestan;<br />}<br />public static double comparacion(double prom, int [] V, int n)<br />{<br />int c=0;<br /> for (int i=0;i<n;i++)<br />{<br /> if(V[i]>prom)<br /> {<br /> c++;<br /> }<br />}<br />return c;<br />}<br />}<br />EJERCICIO Nº2:<br />Ingresar n valores enteros a un vector y determinar cuántos múltiplos de tres (03) y cuántos múltiplos de 7 existen en el vector.<br />import java.io.*;<br />class ejercicio2<br />{<br />public static void main (String [] ar)<br />{<br />BufferedReader ingreso = new BufferedReader(new InputStreamReader(System.in));<br />int [] V = new int [20];<br />int n=0, c7, c3;<br />try<br />{<br />do<br />{<br />System.out.print(" Ingresar la cantidad de elementos del vector: " );<br />n= Integer.parseInt(ingreso.readLine());<br />} while(n<0);<br />V=new int [n];<br />vector(V, n, ingreso);<br />c3=mult3(V, n);<br />c7=mult7(V, n);<br />System.out.println(" La cantidad de multiplos de tres es: " +c3);<br />System.out.println(" La cantidad de multiplos de siete es: " +c7);<br />}<br />catch(Exception error)<br />{<br />System.out.println(" Error al ingresar datos: " );<br />}<br />}<br />public static void vector(int [] V, int n, BufferedReader ent)throws IOException<br />{<br />for(int i=0;i<n;i++)<br />{<br />System.out.print(" Ingresar el elemento nº" +i+" del vector: " );<br />V[i]=Integer.parseInt(ent.readLine());<br />}<br />}<br />public static int mult3(int [] V, int n)<br />{<br />int c=0;<br />for(int i=0;i<n;i++)<br />{<br />if(V[i]%3==0)<br />{<br />c=c+1;<br />}<br />}<br />return c;<br />}<br />public static int mult7(int [] V, int n)<br />{<br />int c=0;<br />for(int i=0;i<n;i++)<br />{<br />if(V[i]%7==0)<br />{<br />c=c+1;<br />}<br />}<br />return c;<br />}<br />}<br />EJERCICIO Nº3:<br />Escriba un programa que permita el ingreso de n valores numéricos en un vector y se determine: el menor, el mayor y el menor y las ubicaciones que ocupan, respectivamente, cada uno de ellos en el vector.<br />import java.io.*;<br />class ejercicio3<br />{<br />public static void main (String [] ar)<br />{<br />BufferedReader ingreso = new BufferedReader(new InputStreamReader(System.in));<br />double [] V ;<br />int n=0;<br />double may, men;<br />try<br />{<br />do<br />{<br />System.out.print(" Ingresar la cantidad de elementos del vector: " );<br />n= Integer.parseInt(ingreso.readLine());<br />} while(n<0);<br />V = new double [n];<br />vector(V, n, ingreso);<br />may=may(V, n);<br />men=men(V, n);<br />System.out.println(" El numero mayor del vector es: " +may);<br />System.out.println(" El numero menor del vector es: " +men);<br />System.out.println(" El mayor numero ocupa el lugar: " +ubicmay(V, n, may)+" en el vector" );<br />System.out.println(" El menor numero ocupa el lugar: " +ubicmen(V, n, men)+" en el vector" );<br />}<br />catch(Exception error)<br />{<br />System.out.println(" Error al ingresar datos: " +error);<br />}<br />}<br />public static void vector(double [] V, int n, BufferedReader ent)throws IOException<br />{<br />for(int i=0;i<n;i++)<br />{<br />System.out.print(" Ingresar el elemento nº" +i+" del vector: " );<br />V[i]=Double.parseDouble(ent.readLine());<br />}<br />}<br />public static double may(double [] V, int n)<br />{<br />double may;<br />may=V[0];<br />for(int i=0;i<n;i++)<br />{<br />if(may<V[i])<br />{<br />may=V[i];<br />}<br />}<br />return may;<br />}<br />public static double men(double [] V, int n)<br />{<br />double men;<br />men=V[0];<br />for(int i=0;i<n;i++)<br />{<br />if(men>V[i])<br />{<br />men=V[i];<br />}<br />}<br />return men;<br />}<br />public static int ubicmay(double [] V, int n, double may)<br />{<br />int c=0;<br />for(int i=0;i<n;i++)<br />{<br />if(may==V[i])<br />{<br />c=i;<br />}<br />}<br />return c;<br />}<br />public static int ubicmen(double [] V, int n, double men)<br />{<br />int c=0;<br />for(int i=0;i<n;i++)<br />{<br />if(men==V[i])<br />{<br />c=i;<br />}<br />}<br />return c;<br />}<br />}<br />EJERCICIO Nº4:<br />Se tiene en un vector las notas de n alumnos. Implementar un programa para calcular: el promedio de notas, la cantidad de aprobados, la cantidad de desaprobados, y cuantos tienen nota sobresaliente (notas entre 18 y 20, ambos inclusive).<br />import java.io.*;<br />class ejercicio4<br />{<br />public static void main (String [] ar)<br />{<br />BufferedReader ingreso = new BufferedReader(new InputStreamReader(System.in));<br />double [] V ;<br />int n=0, desaprobados, aprobados, destacados;<br />double prom=0;<br />try<br />{<br />do<br />{<br />System.out.print(" Ingresar la cantidad de elementos del vector: " );<br />n=Integer.parseInt(ingreso.readLine());<br />} }while(n<0);<br />V = new double[n];<br />vector(V, n, ingreso);<br />//se halla el promedio<br />prom = promedio(prom, V, n);<br />//se halla la cantidad de aprobados<br />aprobados = aprobados(V, n);<br /> //la cantidad de desaprobados<br /> desaprobados=desaprobados(V, n);<br /> //La cantidad de destacados<br /> destacados=destacados(V, n);<br />System.out.println(" El promedio de los notas es: " +prom);<br />System.out.println(" La cantidad de aprobados es: " +aprobados);<br />System.out.println(" La cantidad de desaprobados es: " +desaprobados);<br />System.out.println(" La cantidad de destacados es: " +destacados);<br />}<br />catch(Exception error)<br />{<br />System.out.println(" Error en el ingreso de datos " +error);<br />}<br />}<br />// definicion de funciones y procedimientos<br />public static void vector(double [] V, int n, BufferedReader ent) throws IOException<br />{<br />for(int i=0;i<n;i++)<br />{<br />do<br />{<br /> System.out.print(" El elemento nº" +i+" del vector: " );<br />V[i]= Double.parseDouble(ent.readLine());<br />}while(V[i]<0||V[i]>20);<br />}<br />}<br />public static double promedio(double prom, double [] V, int n)<br />{<br /> for (int i=0;i<n;i++)<br />{<br />prom=prom+V[i];<br />}<br />prom=prom/n;<br />return prom;<br />}<br />public static int aprobados(double [] V, int n)<br />{<br />int c=0;<br /> for (int i=0;i<n;i++)<br />{<br /> if(V[i]>=10.5)<br /> {<br /> c++;<br /> }<br />}<br />return c;<br />}<br />public static int desaprobados(double [] V, int n)<br />{<br />int c=0;<br /> for (int i=0;i<n;i++)<br />{<br /> if(V[i]<10.5)<br /> {<br /> c++;<br /> }<br />}<br />return c;<br />}<br />public static int destacados(double [] V, int n)<br />{<br />int c=0;<br /> for (int i=0;i<n;i++)<br />{<br /> if(V[i]>=18 && V[i]<=20)<br /> {<br /> c++;<br /> }<br />}<br />return c;<br />}<br />}<br />EJERCICIO Nº5:<br />Implementar un menú de opciones con los siguientes métodos de ordenamiento: Burbuja, inserción, selección, shell, quick sort.<br />import java.io.*;<br />class ejercicio5<br />{<br />public static void main(String [ ] ar)<br />{<br />BufferedReader ingreso = new BufferedReader(new InputStreamReader(System.in));<br />double [] V;<br />int n=0, opcion;<br />//double prom=0, desviacion, comp;<br />try<br />{<br />do<br />{<br />System.out.print(" Ingrese La cantidad de elementos: " );<br />n=Integer.parseInt(ingreso.readLine());<br />}while (n>20||n<1);<br />V = new double [n];<br />llenarVector(V, n, ingreso);<br />//Menu de ordenamiento<br />System.out.println(" Eliga la opcion(numero)del metodo que desea utilizar" );<br />System.out.println(" 1. Metodo de la Burbuja(menor a mayor)" );<br />System.out.println(" 2. Metodo de insercion" );<br />System.out.println(" 3. Metodo de seleccion" );<br />System.out.println(" 4. Metodo de Shell" );<br />System.out.println(" 5. Metodo de quick sort" );<br />System.out.print(" La opcion es: " );<br />opcion=Integer.parseInt(ingreso.readLine());<br />while(opcion>5||opcion<1)<br />{<br />System.out.print(" La opcion ingresada no existe, ingrese nuevamente su opcion: " );<br />opcion=Integer.parseInt(ingreso.readLine());<br />}<br />switch (opcion) <br />{<br /> case 1: burbuja(V, n);<br /> break;<br /> case 2: insercion(V, n);<br /> break;<br /> case 3: seleccion(V, n);<br /> break;<br /> case 4: shell(V, n);<br /> break;<br /> case 5: quicksort(V, n);<br /> break;<br /> default: System.out.println(" La opcion errada" );<br />}<br />for (int i = 0; i<n; i++)<br />{<br />System.out.println(" El " +i+" º elemento es: " +V[i]);<br />}<br />}<br />catch (Exception error)<br />{<br />System.out.println(" Error en el ingreso de datos " +error);<br />}<br />}<br />// definicion de funciones y procedimientos<br />public static void llenarVector(double [] V, int x, BufferedReader ent) throws IOException<br />{<br />for(int i=0;i<x;i++)<br />{<br />System.out.print(" El elemento nº" +i+" del vector: " );<br />V[i]= Double.parseDouble(ent.readLine());<br />}<br />}<br />public static void burbuja(double [] V, int n) <br />{<br />double var;<br /> for (int i=0;i<n;i++)<br />{<br />for(int j=i+1;j<n;j++)<br />{<br />if (V[j]<V[i])<br />{<br />var=V[i];<br />V[i]=V[j];<br />V[j]=var;<br />}<br />}<br />}<br />}<br />public static void insercion(double [] V, int n) <br />{<br />double var;<br />int primero, ultimo, c, k;<br /> for (int i=1;i<n;i++)<br />{<br />var=V[i];<br />primero=0;<br />ultimo=i-1;<br />//compara en base al lugar q ocupa<br />while(primero<=ultimo)<br />{<br />c=(primero+ultimo)/2;<br />if (var<V[c])<br />{<br />ultimo=c-1;<br />}<br />else<br />{<br />primero=c+1;<br />}<br />}<br />//asigna los valores al espacio respectivo<br />for (k=i-1; k>=primero; k--) <br />{<br />V[k+1]=V[k];<br />}<br />V[primero]=var;<br />}<br />}<br />public static void seleccion(double [] V, int n) <br />{<br />double men, aux;<br />int k;<br /> for (int i=0;i<n-1;i++)<br />{<br />men=V[i];<br />k=i;<br />for(int j=i+1;j<n;j++)<br />{<br />if (men>V[j])<br />{<br />men=V[j];<br />k=j;<br />}<br />}<br />aux=V[i];<br />V[i]= men;<br />V[k]= aux;<br />}<br />}<br />public static void shell(double [] V, int n) <br />{<br />double aux;<br />int d,i,sw;<br />d=n;<br />do{<br />d=d/2;<br />do{<br />sw=0;<br />i=-1;<br />do{<br />i++;<br />if(V[i]>V[i+d])<br />{<br />aux=V[i];<br />V[i]=V[i+d];<br />V[i+d]=aux;<br />sw=1;<br />}<br />}while(i+d!=n-1);<br />}while(sw!=0);<br />}while(d!=1);<br />}<br />public static void quicksort(double V[],int n)<br />{<br />int izq,der;<br />double pivote, aux;<br />izq=0;<br />der=n-1;<br />pivote=V[(n-1)/2];<br />while(izq<=der)<br />{<br />while(V[izq]<pivote && izq<n-1)<br />{<br />izq++;<br />}<br />while(V[der]>pivote)<br />{<br />der--;<br />}<br />if(izq<=der)<br />{<br />aux=V[izq];<br />V[izq]=V[der];<br />V[der]=aux;<br />izq=izq+1;<br />der=der-1;<br />}<br />}<br />if(izq<n)<br />{<br />aux=V[der];<br />V[der]=V[0];<br />V[0]=aux;<br />}<br />else<br />{<br />aux=V[n-1];<br />V[n-1]=V[0];<br />V[0]=aux;<br />}<br />}<br />}<br />EJERCICIO Nº6:<br />Dado dos arreglos numéricos A y B, generar un tercer arreglo C que sea producto de la intercalación de A y B.<br />import java.io.*;<br />class ejercicio6<br />{<br />public static void main(String [ ] ar)<br />{<br />BufferedReader ingreso = new BufferedReader(new InputStreamReader(System.in));<br />double [] V1;<br />double [] V2;<br />double [] C;<br />int n=0, m=0, p=0;<br />try<br />{<br />do<br />{<br />System.out.print(" Ingrese la cantidad de elementos del primer vector: " );<br />n=Integer.parseInt(ingreso.readLine());<br />}while (n<0);<br />V1 = new double [n];<br />llenarVector1(V1, n, ingreso);<br />do<br />{<br />System.out.print(" Ingrese la cantidad de elementos del segundo vector: " );<br />m=Integer.parseInt(ingreso.readLine());<br />}while (m<0);<br />V2 = new double [m];<br />llenarVector2(V2, m, ingreso);<br />p=m+n;<br />C = new double [p];<br />burbuja(V1,n);<br />burbuja(V2,m);<br />intercalacion(V1,V2,C,n, m,p);<br />for (int i = 0; i<p; i++)<br />{<br />System.out.println(" El " +i+" º elemento es: " +C[i]);<br />}<br />}<br />catch (Exception error)<br />{<br />System.out.println(" Error en el ingreso de datos " +error);<br />}<br />}<br />// definicion de funciones y procedimientos<br />public static void llenarVector1(double [] V1, int n, BufferedReader ent1) throws IOException<br />{<br />for(int i=0;i<n;i++)<br />{<br />System.out.print(" El elemento nº" +i+" del vector nº1: " );<br />V1[i]= Double.parseDouble(ent1.readLine());<br />}<br />}<br />public static void llenarVector2(double [] V2, int m, BufferedReader ent2) throws IOException<br />{<br />for(int i=0;i<m;i++)<br />{<br />System.out.print(" El elemento nº" +i+" del vector nº2: " );<br />V2[i]= Double.parseDouble(ent2.readLine());<br />}<br />}<br />public static void burbuja(double [] V, int x) <br />{<br />double var;<br /> for (int i=0;i<x;i++)<br />{<br />for(int j=i+1;j<x;j++)<br />{<br />if (V[j]<V[i])<br />{<br />var=V[i];<br />V[i]=V[j];<br />V[j]=var;<br />}<br />}<br />}<br />}<br />public static void intercalacion(double [] V1, double [] V2, double [] C, int n,int m, int p) <br />{<br />int i=0;<br />intj=0;<br />int k=0;<br /> while (i<n && j<m)<br /> {<br />if(V1[i]<V2[j])<br />{<br />C[k]=V1[i];<br />i++;<br />}<br />else<br />{<br />if(V1[i]==V2[j])<br />{<br />C[k]=V1[i];<br />i++;<br />k++;<br />C[k]=V2[j];<br />j++;<br />}<br />else<br />{<br />C[k]=V2[j];<br />j++;<br />}<br />}ccccc<br />k++;<br />}<br />if(i>n-1)<br />{<br />for (int L = j; L<m; L++) <br />{<br />C[k]=V2[L];<br />k++;<br />}<br />}<br />else<br />{<br />for (int L = i; L<n; L++) <br />{<br />C[k]=V1[L];<br />k++;<br />}<br />}<br />}<br />}<br />EJERCICIO Nº7:<br />Implementar las búsquedas secuencial y binaria en arreglos del tipo String.<br />import java.io.*;<br />class ejercicio7<br />{<br />public static void main(String [] args)<br /> {<br /> BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br /> String [] Vec; // declaracion de variables<br /> int n=0, opcion=0, num=0;<br /> String valor=" " ;<br /> try<br /> {<br /> System.out.println(" Busqueda secuencial y binaria " );<br /> System.out.print(" Ingrese la cantidad de elementos del vector:" );<br /> do<br /> {<br /> n=Integer.parseInt(entrada.readLine());<br /> }while(n<0);<br /> Vec=new String [n]; // Asignacion de Memoria para el Vector Vec<br /> llenarVector(Vec, n , entrada);<br /> <br /> //Menu de busquedas<br />System.out.println(" Eliga la opcion(numero)del tipo de busqueda que desea utilizar" );<br />System.out.println(" 1. Busqueda Secuencial" );<br />System.out.println(" 2. Busqueda Binaria" );<br />System.out.print(" La opcion es: " );<br />opcion=Integer.parseInt(entrada.readLine());<br />while(opcion>2||opcion<1)<br />{<br />System.out.println(" La opcion ingresada no existe, ingrese nuevamente su opcion: " );<br />opcion=Integer.parseInt(entrada.readLine());<br />}<br />System.out.print(" Ingrese el valor que desea buscar: " );<br /> valor=entrada.readLine();<br />switch (opcion) <br />{<br /> case 1: num=busquedasecuencial(Vec, n, valor, num);<br /> if(num!=-1)<br /> {<br /> System.out.println(" Fin de la busqueda" );<br /> System.out.println(" El dato " +valor+" se encuentra en la posicion " +num);<br /> }<br /> else<br /> {<br /> System.out.println(" El dato ingresado no hay en el vector" );<br /> }<br /> break;<br /> case 2: burbuja(Vec, n);<br /> System.out.println(" El vector ordenado es: " );<br /> mostrarvector(Vec, n);<br /> num = busquedabinaria(Vec, n, valor, num);<br /> if(num!=-1)<br /> {<br /> System.out.println(" Fin de la busqueda" );<br /> System.out.println(" El dato " +valor+" se encuentra en la posicion " +num);<br /> }<br /> else<br /> {<br /> System.out.println(" El dato ingresado no hay en el vector" );<br /> }<br /> break;<br /> default: System.out.println(" La opcion errada" );<br />}<br /> }<br /> catch(Exception error)<br /> {<br /> System.out.println(" error de datos" +error);<br /> }<br /> }<br />public static void llenarVector(String []A, int x, BufferedReader ent)throws IOException<br /> {<br /> for (int i=0; i<x; i++)<br /> {<br /> System.out.print(" El Elemento " +i+" es: " );<br /> A[i]=ent.readLine();<br /> }<br /> }<br />public static void mostrarvector(String [] Vec, int n)<br />{<br />for (int i = 0; i<n; i++) <br />{<br />System.out.println(Vec[i]+" " );<br />}<br />}<br />public static int busquedasecuencial(String [] Vec,int n, String valor, int num)<br /> {<br /> for (int i = 0; i<n; i++)<br /> {<br /> if(Vec[i].equals(valor))<br /> {<br /> num=i;<br /> return num;<br /> }<br /> }<br /> return num;<br /> }<br />public static int busquedabinaria(String [] Vec,int n, String valor, int num)<br /> {<br /> int izq=0, der=n-1;<br /> num=(izq+der)/2;<br /> while (Vec[num].compareTo(valor)!=0 && izq<=der)<br /> {<br /> if(valor.compareTo(Vec[num])>0)<br /> {<br /> izq=num+1;<br /> }<br /> else<br /> {<br /> der=num-1;<br /> }<br /> num=(izq+der)/2;<br /> }<br /> if(valor.compareTo(Vec[num])==0)<br /> {<br /> return num;<br /> }<br /> else<br /> {<br /> return -1;<br /> }<br /> }<br />public static void burbuja(String [] V, int n) <br />{<br />String var;<br /> for (int i=0;i<n-1;i++)<br />{<br />for(int j=i+1;j<n;j++)<br />{<br />if (V[i].compareTo(V[j])>0)<br />{<br />var=V[i];<br />V[i]=V[j];<br />V[j]=var;<br />}<br />}<br />}<br />}<br />}<br />EJERCICIO Nº8:<br />Ingresar desde teclado cualquier número entero y positivo y forme el máximo número posible que se pueda formar con los dígitos del número ingresado. Utilizar arreglos.<br />import java.io.*;<br />class ejercicio8<br />{<br />public static void main(String [] args)<br /> {<br /> BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br /> int [] Vec= new int [20]; // declaracion de variables<br /> int n=0, num=0;<br /> <br /> try<br /> {<br /> System.out.println(" NUMERO MAXIMO DE UN NUMERO " );<br /> do<br /> {<br /> System.out.print(" Ingrese el numero:" );<br /> num=Integer.parseInt(entrada.readLine());<br /> }while(num<1);<br /> n=digitos(num,Vec,n);<br /> ordenar(Vec, n);<br /> System.out.print(" El numero maximo es: " );<br /> mostrar(Vec, n);<br /> }<br /> catch(Exception error)<br /> {<br /> System.out.println(" Error en el ingreso de datos:" +error);<br /> }<br /> }<br /> public static int digitos(int num, int [] Vec, int n)<br /> {<br /> while(num!=0)<br />{<br /> Vec[n]=num % 10;<br /> n++;<br /> num=num/10;<br />}<br /> return n;<br /> }<br /> public static void ordenar(int [] Vec, int n)<br /> {<br /> int may;<br /> <br /> for (int i = 0; i<n; i++)<br /> {<br /> for (int j = i+1; j<n; j++)<br /> {<br /> if(Vec[i]<Vec[j])<br /> {<br /> may=Vec[i];<br /> Vec[i]=Vec[j];<br /> Vec[j]=may;<br /> }<br /> }<br /> }<br /> }<br /> public static void mostrar(int [] Vec, int n)<br /> {<br /> for (int i = 0; i<n; i++)<br /> {<br /> System.out.print(Vec[i]);<br /> }<br /> System.out.println();<br /> }<br />}<br />EJERCICIO Nº9:<br />Inicializar una matriz de n*m con el valor de una variable ingresada desde teclado.<br />import java.io.*;<br />class ejercicio9<br />{<br />public static void main(String [] args)<br />{<br />BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br />int [][]M;<br />int n=0, m=0;<br />int valor=0;<br />try<br />{<br /> System.out.println(" UNA MATRIZ N*M " );<br /> do<br /> {<br /> System.out.print(" Cantidad de Filas:" );<br /> n=Integer.parseInt(entrada.readLine());<br /> }while(n<1);<br />do<br />{<br />System.out.print(" Cantidad de Columnas: " );<br /> m=Integer.parseInt(entrada.readLine());<br />}while(m<1);<br />M=new int [n][m];<br />System.out.print(" Ingrese el valor para la matriz: " );<br />valor=Integer.parseInt(entrada.readLine());<br />for(int i=0;i<n;i++)<br />{<br />for(int j=0;j<m;j++)<br />{<br />M[i][j]=valor;<br />}<br />}<br />mostrarMatriz(M,n,m);<br />}<br />catch(Exception error)<br />{<br />System.out.println(" Error en los datos:" +error);<br />}<br />}<br />public static void mostrarMatriz(int [][]M, int f, int c)<br />{<br />for (int i = 0; i<f; i++) <br />{<br />for (int j = 0; j<c; j++) <br />{<br />System.out.print(M[i][j]+" " );<br />}<br />System.out.println();<br />}<br />}<br />}<br />EJERCICIO Nº10:<br />Se tiene en una matriz el historial de ingresantes de las escuelas de la Facultad de Ingeniería desde el año 1996 hasta el 2006 (semestres pares). Determinar:<br />a. La cantidad de Ingresantes por año de la FAI.<br />b. La escuela con más ingresantes.<br />c. El año con mayor número de ingresantes.<br />d. El año en que una escuela obtuvo más ingresantes.<br />import java.io.*;<br />class ejercicio10<br />{<br />public static void main(String [] args)<br /> {<br /> BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br /> int [][] M; // declaracion de variables<br /> int m=0,num=0, school=0;<br /> String valor=" " ;<br /> try<br /> {<br /> System.out.println(" HISTORIAL DE INGRESANTES " );<br /> do<br /> {<br /> System.out.print(" El numero de escuelas:" );<br /> m=Integer.parseInt(entrada.readLine());<br /> }while(m<0);<br /> M=new int [11][m]; // Asignacion de Memoria para la matriz<br /> llenarMatriz(M, m, entrada);<br /> System.out.println(" La matriz ingresada es: " );<br /> mostrarMatriz(M, m);<br /> //a- La cantidad de ingresantes por año de la FAI<br /> a(M, m);<br /> //b- la escuela con mayor numero de ingresantes<br /> b(M, m);<br /> //c- el año con mayor numero de ingresantes<br /> c(M, m);<br /> //d- El año que una escuela obtuvo mas ingresantes<br /> do<br /> {<br /> System.out.println(" Ingrese la escuela que desea conocer el año con mayor numero de ingresantes es: " );<br /> school=Integer.parseInt(entrada.readLine());<br /> }while(school>m||school<1);<br /> d(M, school);<br /> <br /> }<br /> catch(Exception error)<br /> {<br /> System.out.println(" error de datos" +error);<br /> }<br /> }<br />public static void llenarMatriz(int [][]M, int m, BufferedReader ent)throws IOException<br />{<br />for(int i=0;i<11;i++)<br />{<br />for(int j=0;j<m;j++)<br />{<br />System.out.print(" La cantidad de ingresantes en el año " +(1996+i)+" en la escuela " +(j+1)+" : " );<br />M[i][j]=Integer.parseInt(ent.readLine());<br />}<br />}<br />}<br />public static void mostrarMatriz(int [][]M, int c)<br />{<br />for (int i = 0; i<11; i++) <br />{<br />for (int j = 0; j<c; j++) <br />{<br />System.out.print(M[i][j]+" " );<br />}<br />System.out.println();<br />}<br />}<br />public static void a(int [][]M, int m)<br />{<br />int sum=0, año=0;<br />for (int i = 0; i<11; i++)<br />{<br /> sum=0;<br /> año=i+1996;<br /> for (int j = 0; j<m; j++)<br /> {<br /> sum=sum+M[i][j];<br /> }<br /> System.out.println(" La cantidad de ingresantes en la FAI en el año " +año+" es: " +sum);<br /> }<br />}<br />public static void b(int [][]M, int m)<br />{<br />int may=0, sum=0, escuela=0;<br />for (int j = 0; j<m; j++)<br />{<br /> sum=0;<br /> for (int i = 0; i<11; i++)<br /> {<br /> sum=sum+M[i][j];<br /> }<br /> if(may<sum)<br /> {<br /> may=sum;<br /> escuela=j+1;<br /> }<br /> }<br />System.out.println(" La escuela con mayor numero de ingresantes es : " +escuela);<br />}<br />public static void c(int [][]M, int m)<br />{<br />int may=0, sum=0, año=0;<br />for (int i = 0; i<11; i++)<br />{<br /> sum=0;<br /> for (int j = 0; j<m; j++)<br /> {<br /> sum=sum+M[i][j];<br /> }<br /> if(may<sum)<br /> {<br /> may=sum;<br /> año=i+1996;<br /> }<br /> }<br />System.out.println(" La mayor cantidad de ingresantes es en el año: " +año);<br />}<br />public static void d(int [][]M, int m)<br />{<br />int may=0, año=0;<br />m=m-1;<br />for (int i = 0; i<11; i++)<br />{<br /> if(may<M[i][m])<br /> {<br /> may=M[i][m];<br /> año=1996+i;<br /> }<br />}<br />System.out.println(" La escuela " +(m+1)+" en el año " +año+" tiene mayor numero de ingresantes(" +may+" )" );<br />}<br />}<br />EJERCICIO Nº11:<br />Ingresar desde teclado una línea de texto, de a lo más 25 letras, y almacenar cada una de las letras en una matriz de orden 5x5. Mostrar el texto y la Matriz.<br />import java.io.*;<br />class ejercicio11<br />{<br />public static void main(String [] args)<br />{<br />BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br />char [][] M = new char [5][5];<br />String texto = new String(" " );<br />int n=0;<br />try<br />{<br /> System.out.println(" MATRIZ DE UN TEXTO " );<br />do<br />{<br />System.out.print(" Ingrese el texto para la matriz: " );<br />texto=entrada.readLine();//obtencion del texto<br />n=texto.length();<br />}while(n>25);<br />caracteres(M, texto, n);<br />}<br />catch(Exception error)<br />{<br />System.out.println(" Error en los datos:" +error);<br />}<br />}<br />public static void caracteres(char [][]M, String texto, int n)<br />{<br />char caracter;<br />int p=0;<br />for (int i = 0; i<5; i++) <br />{<br />for (int j = 0; j<5; j++) <br />{<br />if(p<n)<br />{<br />caracter=texto.charAt(p);<br />System.out.print(caracter+" " );<br />}<br />else<br />{<br />System.out.print(" " );<br />}<br />p++;<br />}<br />System.out.println();<br />}<br />}<br />}<br />EJERCICIO Nº12:<br />Implementar programa que permita el ingreso desde teclado de dos matrices (M1 y M2) y muestre la matriz M3 resultante del producto de M1*M2.<br />import java.io.*;<br />class ejercicio12<br />{<br />public static void main(String [] args)<br />{<br />BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br />int [][]M1;<br />int [][]M2;<br />int [][]M3;<br />int p=0, q=0, num=1, n=0, m=0;<br />try<br />{<br />System.out.println(" PRODUCTO DE MATRICES " );<br />do<br />{<br /> System.out.println(" ¡NO OLVIDAR QUE: el numero de columnas (de la 1º matriz)es el mismo el numero de filas (de la 2º matriz)" );<br /> System.out.println(" La primera matriz" );<br />do<br /> {<br /> System.out.print(" Cantidad de Filas:" );<br /> p=Integer.parseInt(entrada.readLine());<br /> }while(p<1);<br />do<br />{<br />System.out.print(" Cantidad de Columnas:" );<br /> q=Integer.parseInt(entrada.readLine());<br />}while(q<1);<br />System.out.println(" La segunda matriz" );<br />do<br /> {<br /> System.out.print(" Cantidad de Filas:" );<br /> n=Integer.parseInt(entrada.readLine());<br /> }while(n<1);<br />do<br />{<br />System.out.print(" Cantidad de Columnas:" );<br /> m=Integer.parseInt(entrada.readLine());<br />}while(m<1);<br />}while (q!=n);<br />M1=new int [p][q];<br />llenarMatriz(M1,p,q,entrada,num);<br />M2=new int [n][m];<br />num=2;<br />llenarMatriz(M2,n,m,entrada, num);<br />M3=new int [p][m];<br />producto(M1,M2,M3, p, m, q);<br />System.out.println(" La matriz producto es:" );<br />mostrarMatriz(M3,p,m);<br /> }<br />catch(Exception error)<br />{<br />System.out.println(" Error en los datos:" +error);<br />}<br />}<br />public static void llenarMatriz(int[][]Ma,int f,int c, BufferedReader ent, int num)throws IOException<br />{<br />System.out.println(" Iniciaremos la matriz " +num);<br />for(int i=0;i<f;i++)<br />{<br />for(int j=0;j<c;j++)<br />{<br />System.out.print(" M[" +i+" ][" +j+" ]:" );<br />Ma[i][j]=Integer.parseInt(ent.readLine());<br />}<br />}<br />}<br />public static void producto(int[][]M1, int[][]M2, int[][]M3, int p, int m, int q)<br />{<br />for(int i=0;i<p;i++)<br />{<br />for(int j=0;j<m;j++)<br />{<br />M3[i][j]=0;<br />for (int t = 0; t<q; t++)<br />{<br />M3[i][j]=M3[i][j]+M1[i][t]*M2[t][j];<br />}<br />}<br />}<br />}<br />public static void mostrarMatriz(int [][]M3, int p, int m)<br />{<br />for (int i = 0; i<p; i++) <br />{<br />for (int j = 0; j<m; j++) <br />{<br />System.out.print(M3[i][j]+" " );<br />}<br />System.out.println();<br />}<br />}<br />}<br />EJERCICIO Nº13:<br />Implementar una matriz para almacenar el horario de clases de un alumno.<br />import java.io.*;<br />class ejercicio13<br />{<br />public static void main(String [] args)<br /> {<br /> BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br /> String [][] M; // declaracion de variables<br /> int n=0;<br /> String valor=" " ;<br /> try<br /> {<br /> System.out.println(" HORARIO DE CLASES " );<br /> do<br /> {<br /> System.out.print(" Ingrese la cantidad de filas :" );<br /> n=Integer.parseInt(entrada.readLine());<br /> }while(n<0);<br /> M=new String [n][7]; // Asignacion de Memoria para la matriz<br /> llenarMatriz(M, n, entrada);<br /> System.out.println(" Tu horario es: " );<br /> mostrarMatriz(M, n);<br /> }<br /> catch(Exception error)<br /> {<br /> System.out.println(" error de datos" +error);<br /> }<br /> }<br />public static void llenarMatriz(String [][]M,int n, BufferedReader ent)throws IOException<br />{<br />for(int i=0;i<n;i++)<br />{<br />for(int j=0;j<7;j++)<br />{<br />System.out.print(" Hora[" +(i+1)+" ],Dia[" +j+" ]:" );<br />M[i][j]=ent.readLine();<br />}<br />}<br />}<br />public static void mostrarMatriz(String [][]M, int f)<br />{<br />for (int i = 0; i<f; i++) <br />{<br />for (int j = 0; j<7; j++) <br />{<br />System.out.print(M[i][j]+" " );<br />}<br />System.out.println();<br />}<br />}<br />}<br />EJERCICIO Nº14:<br />Hacer un programa para intercambiar filas y columnas de una matriz de n*m.<br />import java.io.*;<br />class ejercicio14<br />{<br />public static void main(String [] args)<br />{<br />BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br />String [][]M1;<br />int p=0, q=0, f1=0, f2=0, c1=0, c2=0;<br />try<br />{<br />System.out.println(" INTERCAMBIO DE FILAS Y COLUMNAS DE UNA MATRIZ " );<br />do<br /> {<br /> System.out.print(" Cantidad de Filas:" );<br /> p=Integer.parseInt(entrada.readLine());<br /> }while(p<1);<br />do<br />{<br />System.out.print(" Cantidad de Columnas:" );<br /> q=Integer.parseInt(entrada.readLine());<br />}while(q<1);<br />M1=new String [p][q];<br />llenarMatriz(M1,p,q,entrada);<br />System.out.println(" La matriz ingresada es:" );<br />mostrarMatriz(M1,p,q);<br />do<br />{<br />System.out.print(" La 1º fila a intercambiar es:" );<br />f1=Integer.parseInt(entrada.readLine());<br />}while (f1>=p || f1<0);<br />do<br />{<br />System.out.print(" La 2º fila a intercambiar es:" );<br />f2=Integer.parseInt(entrada.readLine());<br />}while (f2>=p || f2<0);<br />interfilas(M1,p, q, f1, f2);<br />System.out.println(" La matriz con filas intercambiadas es:" );<br />mostrarMatriz(M1,p,q);<br />do<br />{<br />System.out.print(" La 1º columna a intercambiar es:" );<br />c1=Integer.parseInt(entrada.readLine());<br />}while (c1>=q || c1<0);<br />do<br />{<br />System.out.print(" La 2º columna a intercambiar es:" );<br />c2=Integer.parseInt(entrada.readLine());<br />}while (c2>=q || c2<0);<br />intercolumnas(M1,p, q, c1, c2);<br />System.out.println(" La matriz con columnas intercambiadas es:" );<br />mostrarMatriz(M1,p,q);<br />System.out.println(" La matriz final es:" );<br />mostrarMatriz(M1,p,q);<br /> }<br />catch(Exception error)<br />{<br />System.out.println(" Error en los datos:" +error);<br />}<br />}<br />public static void llenarMatriz(String [][]Ma,int f,int c, BufferedReader ent)throws IOException<br />{<br />for(int i=0;i<f;i++)<br />{<br />for(int j=0;j<c;j++)<br />{<br />System.out.print(" M[" +i+" ][" +j+" ]:" );<br />Ma[i][j]=ent.readLine();<br />}<br />}<br />}<br />public static void interfilas(String [][]M1,int p, int q, int f1, int f2)<br />{<br />String aux=" " ;<br />for(int i=0;i<q;i++)<br />{<br />aux=M1[f1][i];<br />M1[f1][i]=M1[f2][i];<br />M1[f2][i]=aux;<br />}<br />}<br />public static void intercolumnas(String [][]M1,int p, int q, int c1, int c2)<br />{<br />String aux=" " ;<br />for(int i=0;i<p;i++)<br />{<br />aux=M1[i][c1];<br />M1[i][c1]=M1[i][c2];<br />M1[i][c2]=aux;<br />}<br />}<br />public static void mostrarMatriz(String [][]M1, int p, int q)<br />{<br />for (int i = 0; i<p; i++) <br />{<br />for (int j = 0; j<q; j++) <br />{<br />System.out.print(M1[i][j]+" " );<br />}<br />System.out.println();<br />}<br />}<br />}<br />EJERCICIO Nº15:<br />Determinar si una matriz X es unitaria.<br />import java.io.*;<br />class ejercicio15<br />{<br />public static void main(String [] args)<br />{<br />BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br />int [][]M;<br />int n=0, m=0;<br />boolean unitaria=false;<br />try<br />{<br /> System.out.println(" UNA MATRIZ UNITARIA " );<br /> do<br /> {<br /> System.out.print(" La cantidad de filas(es la misma que la de columnas): " );<br /> n=Integer.parseInt(entrada.readLine());<br /> }while(n<1);<br /> m=n;<br />M=new int [n][m];<br />llenarMatriz(M,n,m, entrada);<br />System.out.println(" La matriz ingresada es: " );<br />mostrarMatriz(M,n,m);<br />if(matrizuni(unitaria, M, n, m))<br />{<br />System.out.println(" La matriz es unitaria" );<br />}<br />else<br />{<br />System.out.println(" La matriz no es unitaria" );<br />}<br />}<br />catch(Exception error)<br />{<br />System.out.println(" Error en los datos:" +error);<br />}<br />}<br />public static void llenarMatriz(int [][]Ma,int f,int c, BufferedReader ent)throws IOException<br />{<br />for(int i=0;i<f;i++)<br />{<br />for(int j=0;j<c;j++)<br />{<br />System.out.print(" M[" +i+" ][" +j+" ]:" );<br />Ma[i][j]=Integer.parseInt(ent.readLine());<br />}<br />}<br />}<br />public static void mostrarMatriz(int [][]M, int f, int c)<br />{<br />for (int i = 0; i<f; i++) <br />{<br />for (int j = 0; j<c; j++) <br />{<br />System.out.print(M[i][j]+" " );<br />}<br />System.out.println();<br />}<br />}<br />public static boolean matrizuni(boolean unitaria, int [][]M, int n, int m)<br />{<br />for (int i = 0; i<n; i++) <br />{<br />for (int j = 0; j<m; j++) <br />{<br />if(i==j)<br />{<br />if(M[i][j]!=1)<br />{<br />return false;<br />}<br />}<br />else if (M[i][j]!=0)<br />{<br />return false;<br />}<br />}<br />}<br />return true;<br />}<br />}<br />EJERCICIO Nº16:<br />Mostrar la diagonal principal de una matriz de orden n*n.<br />import java.io.*;<br />class ejercicio16<br />{<br />public static void main(String [] args)<br />{<br />BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br />int [][]M;<br />int n=0;<br />try<br />{<br /> System.out.println(" TLA DIAGONAL DE UNA MATRIZ " );<br /> do<br /> {<br /> System.out.print(" La cantidad de filas(es la misma que la de columnas): " );<br /> n=Integer.parseInt(entrada.readLine());<br /> }while(n<1);<br />M=new int [n][n];<br />llenarMatriz(M,n,entrada);<br />System.out.println(" La matriz ingresada es: " );<br />mostrarMatriz(M,n);<br />System.out.println(" La diagonal de la matriz es: " );<br />diagonal(M, n);<br />}<br />catch(Exception error)<br />{<br />System.out.println(" Error en los datos:" +error);<br />}<br />}<br />public static void llenarMatriz(int [][]Ma,int f,BufferedReader ent)throws IOException<br />{<br />for(int i=0;i<f;i++)<br />{<br />for(int j=0;j<f;j++)<br />{<br />System.out.print(" M[" +i+" ][" +j+" ]:" );<br />Ma[i][j]=Integer.parseInt(ent.readLine());<br />}<br />}<br />}<br />public static void mostrarMatriz(int [][]M, int f)<br />{<br />for (int i = 0; i<f; i++) <br />{<br />for (int j = 0; j<f; j++) <br />{<br />System.out.print(M[i][j]+" " );<br />}<br />System.out.println();<br />}<br />}<br />public static void diagonal(int [][]M, int n)<br />{<br />for (int i = 0; i<n; i++) <br />{<br />for (int j = 0; j<n; j++) <br />{<br />if(i==j)<br />{<br />System.out.print(M[i][j]+" " );<br />}<br />else<br />{<br />System.out.print(" " );<br />}<br />}<br />System.out.println();<br />}<br />}<br />}<br />EJERCICIO Nº17:<br />Generar automáticamente la siguiente matriz:<br />0111110111xx0xx2220222220<br />import java.io.*;<br />class ejercicio17<br />{<br />public static void main(String [] arg)<br />{<br />BufferedReader ingreso =new BufferedReader( new InputStreamReader(System.in));<br />char [][] M =new char [5][5];<br />try <br />{<br /> System.out.println(" MATRIZ AUTOMATICA " );<br /> <br /> for (int i = 0; i<5; i++)<br /> {<br /> for (int j = 0; j<5; j++)<br /> {<br /> if(i==j)<br /> {<br /> M[i][j]='0';<br /> }<br /> else<br /> {<br /> if(i==0||i==1)<br /> {<br /> M[i][j]='1';<br /> }<br /> else<br /> {<br /> if(i==2)<br /> {<br /> M[i][j]='x';<br /> }<br /> else<br /> {<br /> M[i][j]='2';<br /> }<br /> }<br /> }<br /> }<br /> }<br /> mostrarMatriz(M);<br />}<br />catch (Exception error) <br />{<br />System.out.print(" Error al ingresar datos" +error);<br />}<br />}<br />public static void mostrarMatriz(char [][]M)<br />{<br />for (int i = 0; i<5; i++) <br />{<br />for (int j = 0; j<5; j++) <br />{<br />System.out.print(M[i][j]+" " );<br />}<br />System.out.println();<br />}<br />}<br />}<br />EJERCICIO Nº18:<br />Implementar un programa que busque un nombre en una matriz del tipo String y muestre además y fila y la columna en la que se encuentra (si se encuentra) el nombre buscado.<br />import java.io.*;<br />class ejercicio18<br />{<br />public static void main(String [] args)<br /> {<br /> BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));<br /> String [][] M; // declaracion de variables<br /> int n=0, m=0,num=0;<br /> String valor=" " ;<br /> try<br /> {<br /> System.out.println(" Busqueda en una matriz " );<br /> do<br /> {<br /> System.out.print(" Ingrese la cantidad de filas :" );<br /> n=Integer.parseInt(entrada.readLine());<br /> }while(n<0);<br /> do<br /> {<br /> System.out.print(" Ingrese la cantidad de columnas :" );<br /> m=Integer.parseInt(entrada.readLine());<br /> }while(m<0);<br /> M=new String [n][m]; // Asignacion de Memoria para la matriz<br /> llenarMatriz(M, n ,m, entrada);<br /> System.out.println(" La matriz ingresada es: " );<br /> mostrarMatriz(M, n, m);<br /> System.out.print(" Ingrese el valor que desea buscar: " );<br /> valor=entrada.readLine();<br />busquedasecuencial(M, n, m, valor);<br /> }<br /> catch(Exception error)<br /> {<br /> System.out.println(" error de datos" +error);<br /> }<br /> }<br />public static void llenarMatriz(String [][]M,int n,int m, BufferedReader ent)throws IOException<br />{<br />for(int i=0;i<n;i++)<br />{<br />for(int j=0;j<m;j++)<br />{<br />System.out.print(" M[" +i+" ][" +j+" ]:" );<br />M[i][j]=ent.readLine();<br />}<br />}<br />}<br />public static void mostrarMatriz(String [][]M, int f, int c)<br />{<br />for (int i = 0; i<f; i++) <br />{<br />for (int j = 0; j<c; j++) <br />{<br />System.out.print(M[i][j]+" " );<br />}<br />System.out.println();<br />}<br />}<br />public static void busquedasecuencial(String [][]M,int n, int m, String valor)<br /> {<br /> boolean salir=false;<br /> System.out.println(" entro1" );<br /> for (int i = 0; i<n; i++)<br /> {<br /> for (int j = 0; j<m; j++)<br /> {<br /> if(M[i][j].compareTo(valor)==0)<br /> {<br /> System.out.println(" Fin de la busqueda" );<br /> System.out.println(" El dato " +valor+" se encuentra en la fila " +i+" y la columna " +j);<br /> salir=true;<br /> }<br /> }<br /> }<br /> if(salir)<br /> {<br /> System.out.println(" No se encuentra el dato" );<br /> }<br /> }<br />}<br />

×