Practica Final Progra

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 34

NOMBRE: BORIS KEVIN QUISPE MOLLERICONA

CODIGO: A23348-X

EJERCICIOS CON VECTORES

EJERCICIO 1. Llenar un vector con 5 numeros, obtener la suma e los 5 numeros:


public class ejer1 {

public static void main(String[] args) {


Scanner leer=new Scanner (System.in);
int n,i,s=0;
int [] vec = new int [100];
System.out.println("introduzca el tamaño del vector");
n=leer.nextInt();
for(i=1;i<=n;i++) {
vec[i]=(int)(Math.random()*100);
}
for(i=1;i<=n;i++) {
System.out.println("vec["+i+"]="+vec[i]);
s=s+vec[i];
}
System.out.println("la suma de los elementos del vector son:"+s);
}
EJERCICIO 2. Pedir el tama;o de un vector, llenar el vector por teclado , obtener el numero mayor, el
numero menor, y el promedio de todos los números.
public class ejer2 {

public static void main(String[] args) {


Scanner w=new Scanner (System.in);
int i,max=-99999999,min=999999999;
double promedio;
double n,s=0;
int [] v=new int [10];
System.out.println("introducir el tama;o del vector");
n=w.nextInt();
for(i=1;i<=n;i++) {
v[i]=w.nextInt();
}
for(i=1;i<=n;i++) {
System.out.println("v["+i+"]="+v[i]);
s=s+v[i];
if(v[i]>max) {
max=v[i];
}
if(v[i]<min) {
min=v[i];
}
}
promedio=s/n;
System.out.println("el elemento maximo es:"+max);
System.out.println("el elemento minimo es:"+min);
System.out.println("el promedio es:"+promedio);
}
EJERCICIO 3. Llenar un vector con Ncantidad de números por teclado, indicar la cantidad de números
primos ingresados en el vector.
public class ejer3 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,j,i,c,p=0;
int [] v=new int [20];
System.out.println("introducir el tama;o del vector");
n=w.nextInt();
for(i=1;i<=n;i++) {
v[i]=w.nextInt();
}
for(i=1;i<=n;i++) {
c=0;
for(j=1;j<=v[i];j++) {
if(v[i]%j==0) {
c++;
}
}
if(c==2) {
System.out.println("primo"+v[i]);
p++;
}
}
System.out.println("el numero de primos es:"+p);
}

EJERCICIO 4. Llenar un vector con N cantidad de números. Luego pedir un número el cual se busca
dentro del vector, indicar si existe o no el número buscado (mostrar un mensaje para esto), en el caso
de que exista se debe mostrar la posición donde se encuentra.
public class ejer4 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,x,i;
int[] v=new int [20];
System.out.println("introducir el tama;o del vector:");
n=w.nextInt();
for(i=1;i<=n;i++) {
v[i]=(int)(Math.random()*50);
System.out.println("v["+i+"]="+v[i]);
}
System.out.println("introducir el numero a buscar en el vector:");
x=w.nextInt();
for(i=1;i<=n;i++) {
//System.out.println("v["+i+"]="+v[i]);
if(x==v[i]) {
System.out.println("el numero buscado existe en el vector
y es"+x+"y su posicion es:"+i);
}//else {
//System.out.println("no existe el numero buscado");
}
System.out.println("no existe el numero buscado");
}
}
EJERCICIO 5.
Llenar dos vectores (A y B) con N cantidad de elementos y determine cuantos números de A se
encuentran en B
public class ejer5 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,i,j,c=0;
int []a=new int [20];
int[] b=new int [20];
System.out.println("introducir el tama;o del vector:");
n=w.nextInt();
System.out.println("el vector a es:");
System.out.print("a[i]=");
for(i=1;i<=n;i++) {
a[i]=(int)(Math.random()*50);
//a[i]=w.nextInt();
System.out.print(a[i]+",");
}
System.out.println();
System.out.println("el vector b es:");
System.out.print("b[j]=");
for(j=1;j<=n;j++) {
b[j]=(int)(Math.random()*50);
//b[j]=w.nextInt();
System.out.print(b[j]+",");
}
for(i=1;i<=n;i++) {
for(j=1;j<=n;j++) {
if(a[i]==b[j]) {
c=c+1;
}
}
}
System.out.println();
System.out.println("el numero de vectores iguales es: "+c);
}
EJERCICIO 6.
Llenar un vector con los números pares de la serie de Fibonacci
public class ejer6 {

public static void main(String[] args) {


Scanner leer=new Scanner(System.in);
int n,i,a=-1,b=1,c;
int [] v =new int [50];

System.out.println("introducir el tam;ano del vector:");


n=leer.nextInt();
System.out.println("el vector con los numeros pares es:");
System.out.print("v[i]=[");
i=1;
a=-1;
b=1;
while(i<=n) {
c=a+b;
a=b;
b=c;
if(c%2==0) {
v[i]=c;
i=i+1;
}
}
for(i=1;i<=n;i++) {
System.out.print(v[i]+",");
}
System.out.println("]");
}

EJERCICIO 7.
Llenar un vector de tamaño N y ordenarlo usando el método de ordenación por intercambio
(burbuja). Ordenar de forma ascendente y luego de forma descendente.
public class ejer7 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,i,j,aux,aux2;
int []a=new int [20];
System.out.println("introducir el tama;o del vector:");
n=w.nextInt();
System.out.println("el vector a es:");
System.out.print("a[i]=");
for(i=1;i<=n;i++) {
a[i]=(int)(Math.random()*50);
//a[i]=w.nextInt();
System.out.print(a[i]+",");
}
for(j=1;j<=n;j++) {
for(i=1;i<n;i++) {
if(a[i+1]<a[i]) {
aux=a[i+1];
aux2=a[i];
a[i+1]=aux2;
a[i]=aux;
}
}
}
System.out.println();
System.out.println("el vector de forma ascendente es:");
for(i=1;i<=n;i++) {
System.out.print(a[i]+",");
}
for(j=1;j<=n;j++) {
for(i=1;i<n;i++) {
if(a[i+1]>a[i]) {
aux=a[i+1];
aux2=a[i];
a[i+1]=aux2;
a[i]=aux;
}
}
}
System.out.println();
System.out.println("el vector de forma descendente es:");
for(i=1;i<=n;i++) {
System.out.print(a[i]+",");
}
}
}
EJERCICIO 8.
Llenar dos vectores (A y B) de tamaño N, hallar la suma de sus elementos de las mismas posiciones
en un tercer vector y mostrar los elementos del nuevo vector.
public class ejer8 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,i;
int []a=new int [20];
int []b=new int [20];
int []c=new int [20];
System.out.println("introducir el tama;o del vector:");
n=w.nextInt();
System.out.println("el vector a es:");
for(i=1;i<=n;i++) {
a[i]=(int)(Math.random()*50);
b[i]=(int)(Math.random()*50);
}
System.out.print("a[i]=");
for(i=1;i<=n;i++) {
System.out.print(a[i]+",");
}
System.out.println();
System.out.print("b[i]=");
for(i=1;i<=n;i++) {
System.out.print(b[i]+",");
}
System.out.println();
System.out.print("c[i]=");
for(i=1;i<=n;i++) {
c[i]=a[i]+b[i];
System.out.print(c[i]+",");
}
}

}
EJERCICIO 9.
Pedir el tamaño de un vector y llenarlo con la serie 1, 4, 9, 16, 25,….. y mostrar el vector
public class ejer9 {

public static void main(String[] args) {


Scanner w=new Scanner (System.in);
int n,i;
int []v=new int [50];
System.out.println("introducir el tama;o del vector:");
n=w.nextInt();
for(i=1;i<=n;i++) {
v[i]=(int)Math.pow(i,2);
}
System.out.println("el vector con los elementos de la serie es:");
System.out.print("v[i]=[");
for(i=1;i<=n;i++) {
System.out.print(v[i]+",");
}
System.out.print("]");
}

}
EJERCICIO 10.
Pedir un número entero y positivo y ordenar sus dígitos de manera descendente utilizando vectores y
mostrar el número ordenado. Primero se deberá llenar un vector con cada uno de los dígitos del
número ingresado, luego ordenar los elementos del vector y finalmente componer nuevamente un
número con los elementos del vector y mostrar el número con los dígitos ordenados.
public class ejer10 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int a,i,j,c,aux;
int n,nn=0;
int []v=new int [50];
do {
System.out.println("introducir el numero entero positivo:");
n=w.nextInt();
}while(n<0);
i=1;
c=1;
while(n!=0) {
a=n%10;
v[i]=a;
n=n/10;
i++;
c++;
}
for(j=1;j<=c;j++) {
for(i=1;i<=c;i++) {
if(v[i+1]>v[i]) {
aux=v[i+1];
v[i+1]=v[i];
v[i]=aux;
}
}
}
for(i=1;i<c;i++) {
nn=nn*10+v[i];
}
System.out.println("el numero ordenado de forma descendente es:");
System.out.println(nn);
}

}
EJERCICIO 11.
Pedir un numero entero y positivo que será el tamaño de dos vectores llenarlos por teclado y calcular
y mostrar la suma de los dos vectores de la siguiente forma
public class ejer11 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,i,j,k;
int []a=new int [20];
int []b=new int[20];
int[]c=new int[20];
do {
System.out.println("introducir el tama;o del vector:");
n=w.nextInt();
}while(n<0);
System.out.println("llenar el vector a:");
System.out.print("a[i]=[");
for(i=1;i<=n;i++) {
a[i]=(int)(Math.random()*50);
//a[i]=w.nextInt();
System.out.print(a[i]+",");
}
System.out.println("]");
System.out.println();
System.out.println("llenar el vector b:");
System.out.print("b[j]=[");
for(j=1;j<=n;j++) {
b[j]=(int)(Math.random()*50);
//b[j]=w.nextInt();
System.out.print(b[j]+",");
}
System.out.println("]");
i=n;
j=1;
k=1;
while(k<=n) {
c[k]=a[i]+b[j];
i--;
j++;
k++;
}
System.out.println();
System.out.println("el nuevo vector c es:");
System.out.print("c[k]=[");
for(k=1;k<=n;k++) {
System.out.print(c[k]+",");
}
System.out.println("]");
}
}
EJERCICIO 12.
Llenar un vector con los factoriales de los primeros “N” números enteros positivos.
public class ejer12 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int i,j,n,f;
int[]v=new int[20];
do {
System.out.println("introducir el tama;o del vector:");
n=w.nextInt();
}while(n<0);
System.out.println("el vector con elementos de factoriales es:");
for(i=1;i<=n;i++) {
f=1;
for(j=1;j<=i;j++) {
f=f*j;
}
v[i]=f;
}
System.out.println();
System.out.print("v[i]=[");
for(i=1;i<=n;i++) {
System.out.print(v[i]+",");
}
System.out.println("]");
}

}
EJERCICIO 13.
Llenar un vector con “N” cantidad de números enteros positivos y mostrar el elemento cuya suma de
sus dígitos sea el valor más grande
public class ejer13 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int i,j,s,n,b,k;
int[]v=new int[20];
int [] a=new int[20];
int[]c=new int[20];
do {
System.out.println("introducir el tama;o del vector:");
n=w.nextInt();
}while(n<0);
System.out.println("llenar el vector");
i=1;
while(i<=n) {
do {
v[i]=(int)(Math.random()*500);
//v[i]=w.nextInt();
}while(v[i]<0);
i++;
}
for(k=1;k<=n;k++) {
for(i=k;i<=k;i++) {
c[k]=v[i];
}
}
for(i=1;i<=n;i++) {
System.out.print(v[i]+",");
}
for(j=1;j<=n;j++) {
i=j;
s=0;
while(v[i]!=0) {
b=(v[i]%10);
s=s+b;
v[i]=v[i]/10;
}
a[j]=s;
}
System.out.println();
System.out.println("el vector de la suma de los digitos es:");
for(j=1;j<=n;j++) {
System.out.print(a[j]+",");
}
int max=0;
for(j=1;j<=n;j++) {
if(a[j]>max) {
max=a[j];
k=j;
}
}
System.out.println();
System.out.println("el numero con la mayor suma de sus digitos es:
"+c[k]+" y la suma de sus digitos es: "+max);
}

}
EJERCICIO 14.
Pedir los nombres y teléfonos de “N” cantidad de personas y guardar esos datos en dos vectores
(uno para los nombres y otro para los teléfonos). Luego se desea mostrar el teléfono de una de-
terminada persona, para esto pedir el nombre de la persona y mostrar su teléfono.
public class ejer14 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,i;
String x;
String []a=new String[20];
int []b=new int [20];
do {
System.out.println("introducir el tama;o del directorio:");
n=w.nextInt();
}while(n<0);
System.out.println("introducir los nombres de los contactos:");
for(i=1;i<=n;i++) {
a[i]=w.next();
}
System.out.println("introducir los numeros de los contactos:");
for(i=1;i<=n;i++) {
b[i]=w.nextInt();
}
System.out.println();
System.out.println("los nombres de los contactos son:");
for(i=1;i<=n;i++) {
System.out.println("contacto "+i+" es: "+a[i]+" No: "+b[i]);
}
System.out.println("introducir el nombre a buscar:");
x=w.next();
int c=0;
for(i=1;i<=n;i++) {
if(x.equals(a[i])) {
System.out.println("su numero es:"+b[i]);
c++;
}
}
if (c==0) {
System.out.println("no existe el contacto");
}
}
}
EJERCICIO 15.
Diseñar un algoritmo que pida “N” cantidad de números enteros positivos y debe almacenar en
un vector solo los números primos ingresados.
public class ejer15 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,i,k,c,x,j,d,m;
int []v=new int[20];
System.out.println("indicar la cantidad de numeros que se van a introducir:");
do {
n=w.nextInt();
}while(n<0);
i=1;
k=1;
m=0;
d=0;
System.out.println("favor de solo introducir numeros enteros positivos, si no
volver a introducir:");
while(i<=n) {
do {
x=(int)(Math.random()*50);
//x=w.nextInt();
}while(x<=0);
System.out.print(x+",");
c=0;
for(j=1;j<=x;j++) {
if(x%j==0) {
c++;
}
}
if(c==2) {
v[k]=x;
k++;
d++;
}
i++;
}
for(k=1;k<=d;k++) {
System.out.println(v[k]);
}
}

}
EJERCICIO 16.
Diseñar un algoritmo que pida los nombres y edades de “N” cantidad de personas. Luego debe
mostrar los nombres de las personas ordenadas de acuerdo a sus edades, desde el menor hasta la
persona mayor del grupo.
public class ejer16 {

public static void main(String[] args) {


Scanner w=new Scanner (System.in);
int n,i,j,aux;
String aux1;
String a[]=new String[50];
int []e=new int [50];
int []b=new int [50];
System.out.println("introducir el tama;o de los vectores:");
n=w.nextInt();
System.out.println("introducir los nombres:");
for(i=1;i<=n;i++) {
a[i]=w.next();
}
for(i=1;i<=n;i++) {
System.out.print(a[i]+",");
}
System.out.println();
System.out.println("introducir las edades:");
for(i=1;i<=n;i++) {
e[i]=(int)((Math.random()*100)+1);
}
for(i=1;i<=n;i++) {
System.out.print(e[i]+",");
}
for(j=1;j<=n;j++) {
for(i=1;i<n;i++) {
if(e[i+1]<e[i]) {
aux=e[i+1];
e[i+1]=e[i];
e[i]=aux;
aux1=a[i+1];
a[i+1]=a[i];
a[i]=aux1;
}
}
}
System.out.println("los nombres ordenados por las edades de menor a
mayor son:");
for(i=1;i<=n;i++) {
System.out.print(e[i]+",");
}
System.out.println();
for(i=1;i<=n;i++) {
System.out.print(a[i]+",");
}
}

}
EJERCICIO 17.
Diseñar un algoritmo que pida los nombres y teléfonos de “N” cantidad de personas. Debe lle-
nar en un vector los nombres de las personas que viven en la zona sur de la ciudad y en otro vector
los que no viven en la zona sur. Los teléfonos de la zona sur de la ciudad empiezan por el prefijo 27,
por ejemplo 2720084. Todos los teléfonos tienen 7 dígitos, si se introduce un núme- ro con una
cantidad de dígitos diferente, se debe mostrar la palabra “Error”.
public class ejer17 {

public static void main(String[] args) {


Scanner w=new Scanner (System.in);
int n,i,j;
String []a=new String [50];
int [] b=new int [50];
System.out.println("introducir el tama;o del vector");
n=w.nextInt();
System.out.println("introducir los nombres en el vector y sus numeros
");
for(i=1;i<=n;i++) {
a[i]=w.next();
//b[i]=w.nextInt();
}
for(i=1;i<=n;i++) {
System.out.print(a[i]+",");
}
System.out.println();
System.out.println("introducir los numeros de telefono:");
for(i=1;i<=n;i++) {
b[i]=w.nextInt();
if (b[i]>9999999 && b[i]<1111111) {
System.out.println("el numero introducido es erroneo");
}
}
System.out.println();
for(i=1;i<=n;i++) {
System.out.print(b[i]+",");
}
}

}
EJERCICIO 18.
Diseñar un algoritmo que pida las edades y nombres de personas, se debe dejar de pedir datos
cuando se introduzca una edad negativa. Mostrar los nombres de las tres personas mas altas.
public class ejer18 {

public static void main(String[] args) {


Scanner w=new Scanner (System.in);
int n,i;
int[]a=new int[50];
String []b=new String[50];
System.out.println("introducir el tama;o del vector:");
n=w.nextInt();
System.out.println("introducir las edades y nombres de las personas");
for(i=1;i<=n;i++) {
a[i]=w.nextInt();
}
for(i=1;i<=n;i++) {
if(a[i]<0) {
i=n;
}
}
for(i=1;i<=n;i++) {
b[i]=w.next();
}
System.out.println("los numeros son:");
for(i=1;i<=n;i++) {
System.out.print(a[i]+",");

}
System.out.println("los nombres son:");
for(i=1;i<=n;i++) {
System.out.print(b[i]+",");

EJERCICIOS CON MATRICES

EJERCICIO 19.
Ingrese 6 números en un arreglo de dos dimensiones (matriz) de 3x2 y obtenga la suma de los
números ingresados
public class ejer1 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c;
int[][]M=new int[10][10];
System.out.println("introducir el numero de filas:");
f=w.nextInt();
System.out.println("introducir el numero de columnas:");
c=w.nextInt();
System.out.println("llenar la matriz:");
for(int i=1;i<=f;i++) {
for(int j=1;j<=c;j++) {
M[i][j]=(int)(Math.random()*10);
}
}
int s=0;
for(int i=1;i<=f;i++) {
for(int j=1;j<=c;j++) {
s=M[i][j]+s;
}
}
for(int i=1;i<=f;i++) {
for(int j=1;j<=c;j++) {
System.out.print(M[i][j]+" ");
}
System.out.println();
}
System.out.println("la suma de todos sus elementos son:"+s);
}

}
EJERCICIO 20.
Pedir el tamaño de una matriz NO cuadrada (número de filas y número de columnas), llenar la matriz
por teclado y mostrar el promedio de los números ingresados.
public class ejer2 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int f,c,i,j,s=0;
double prom;
int[][]M=new int[50][50];
System.out.println("introducir el numero de filas:");
f=w.nextInt();
System.out.println("introducir el numero de columas:");
c=w.nextInt();
System.out.println("la matriz es:");
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
M[i][j]=(int)(Math.random()*10);
}
}
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
s=s+M[i][j];
}
}
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
System.out.print(M[i][j]+" ");
}
System.out.println();
}
prom=(s/(f*c));
System.out.println();
System.out.println("el promedio es: "+prom);
}

}
EJERCICIO 21.
Almacene en una matriz de 3x2, 6 números y obtenga la cantidad de pares e impares.
public class ejer3 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c;
int[][]M=new int[10][10];
System.out.println("introducir el numero de filas:");
f=w.nextInt();
System.out.println("introducir el numero de columnas:");
c=w.nextInt();
System.out.println("llenar la matriz:");
for(int i=1;i<=f;i++) {
for(int j=1;j<=c;j++) {
M[i][j]=(int)(Math.random()*10);
}
}
int h=0;
for(int i=1;i<=f;i++) {
for(int j=1;j<=c;j++) {
if(M[i][j]%2==0) {
h=h+1;
}
}
}
for(int i=1;i<=f;i++) {
for(int j=1;j<=c;j++) {
System.out.print(M[i][j]+" ");
}
System.out.println();
}
System.out.println("el numero de pares es: "+h+" y el numero de impares
es: "+((f*c)-h));
}
}
EJERCICIO 22.
Ingrese 12 números en un arreglo bidimensional (Matriz) de 4x3, y obtenga la suma de cada
columna.
public class ejer4 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int f,c,s1=0,s2=0,s3=0;
int[][]M=new int [20][20];
System.out.println("introducir la matriz de 4x3");
for(f=1;f<=4;f++) {
for(c=1;c<=3;c++) {
M[f][c]=(int)(Math.random()*10);
}
}
for(f=1;f<=4;f++) {
for(c=1;c<=3;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}
System.out.println("la suma de las columnas son:");
for(f=1;f<=4;f++) {
s1=s1+M[f][1];
}
for(f=1;f<=4;f++) {
s2=s2+M[f][2];
}
for(f=1;f<=4;f++) {
s3=s3+M[f][3];
}
System.out.println("la suma de la columna 1 es:"+s1);
System.out.println("la suma de la columna 2 es:"+s2);
System.out.println("la suma de la columna 3 es:"+s3);
}

}
EJERCICIO 23.
Pedir el tamaño de una matriz no cuadrada (número de filas y número de columnas), llenar la matriz
por teclado, obtener la suma de cada fila y almacenar los resultados en un vector.
public class ejer5 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c;
int[][]M=new int[10][10];
int [] v=new int [150];
System.out.println("introducir el numero de filas:");
f=w.nextInt();
System.out.println("introducir el numero de columnas:");
c=w.nextInt();
System.out.println("llenar la matriz:");
for(int i=1;i<=f;i++) {
for(int j=1;j<=c;j++) {
M[i][j]=(int)(Math.random()*10);
}
}
int s;
for(int i=1;i<=f;i++) {
s=0;
for(int j=1;j<=c;j++) {
s=s+M[i][j];
}
v[i]=s;
}
for(int i=1;i<=f;i++) {
for(int j=1;j<=c;j++) {
System.out.print(M[i][j]+" ");
}
System.out.println();
}
System.out.println("el vector de las sumas de las filas es:");
for(int i=1;i<=f;i++) {
System.out.print(v[i]+",");
}

}
EJERCICIO 24.
Llenar una matriz de NxN (pedir el valor de N) con los números naturales (empezando por el 1)
como la matriz viborita de la siguiente forma
Ejemplo para una matriz 4x4:
public class ejer6 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c,m=0;
int[][]M=new int [20][20];
System.out.println("introducir el tama;o de la matriz cuadrada:");
n=w.nextInt();
int h=0;
for(c=1;c<=n;c++) {
if(c%2==1) {
for(f=1;f<=n;f++) {
h=h+1;
M[f][c]=f;
m=h;
}
}else {
for(f=n;f<=1;f--) {
m=m+1;
M[f][c]=f;

}
}
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}
}
}

EJERCICIO 25.
Pedir el tamaño de una matriz no cuadrada (número de filas y número de columnas), llenar la matriz
por teclado, obtener la suma de cada columna y almacenar los resultados en un vector.
public class ejer7 {

public static void main(String[] args) {


Scanner w=new Scanner (System.in);
int f,c,s,i,j;
int [][]M=new int[20][20];
int []v=new int [400];
System.out.println("introducir el numero de filas:");
f=w.nextInt();
System.out.println("introucir el numero de columnas:");
c=w.nextInt();
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
M[i][j]=(int)(Math.random()*15);
}
}
for(j=1;j<=c;j++) {
s=0;
for(i=1;i<=f;i++) {
s=s+M[i][j];
}
v[j]=s;
}
System.out.println("la matriz es:");
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
System.out.print(M[i][j]+" ");
}
System.out.println();
}
System.out.println("el vector de la suma de las columnas es:");
for(j=1;j<=c;j++) {
System.out.print(v[j]+",");
}
}

}
EJERCICIO 26.
Dada la matriz A de 4x4, la matriz B de 4x4, obtenga la suma de dichas matrices.
public class ejer8 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int f,c;
int [][]M=new int[20][20];
int [][]N=new int [20][20];
int [][]S=new int [20][20];
System.out.println("introducir la matriz M de 4x4");
for(f=1;f<=4;f++) {
for(c=1;c<=4;c++) {
M[f][c]=(int)(Math.random()*10);
}
}
System.out.println("la matriz M es:");
for(f=1;f<=4;f++) {
for(c=1;c<=4;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}
System.out.println("introducir la matriz N de 4x4");
for(f=1;f<=4;f++) {
for(c=1;c<=4;c++) {
N[f][c]=(int)(Math.random()*10);
}
}
System.out.println("la matriz N es:");
for(f=1;f<=4;f++) {
for(c=1;c<=4;c++) {
System.out.print(N[f][c]+" ");
}
System.out.println();
}
for(f=1;f<=4;f++) {
for(c=1;c<=4;c++) {
S[f][c]=M[f][c]+N[f][c];
}
}
System.out.println("la matriz suma es:");
for(f=1;f<=4;f++) {
for(c=1;c<=4;c++) {
System.out.print(S[f][c]+" ");
}
System.out.println();
}
}

}
EJERCICIO 27.
Pedir el tamaño de una matriz cuadrada, llenarla por teclado, hallar su traspuesta en otra matriz y
mostrar.
public class ejer9 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c;
int [][]M=new int [20][20];
int[][]T=new int [20][20];
System.out.println("introducir el orden de la matriz:");
n=w.nextInt();
System.out.println("la matriz es:");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
M[f][c]=(int)(Math.random()*10);
}
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
T[f][c]=M[c][f];
}
}
System.out.println("la transpuesta de la matriz es:");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(T[f][c]+" ");
}
System.out.println();
}
}

}
EJERCICIO 28.
Sean A, B, C matrices cuadradas NxN. Llenar por teclado las matrices A y B. Hallar C de acuerdo a
la siguiente ecuación, donde P es una variable simple que el usuario deberá ingresar su valor.
public class ejer10 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c,k;
int[][]A=new int[20][20];
int[][]B=new int[20][20];
int[][]C=new int[20][20];
int[][]T=new int[20][20];
System.out.println("introducir el orden de las matrices:");
n=w.nextInt();
System.out.println("introducir la constante k:");
k=w.nextInt();
System.out.println("la matriz A es:");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
A[f][c]=(int)(Math.random()*10);
}
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(A[f][c]+" ");
}
System.out.println();
}
System.out.println("la matriz B es:");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
B[f][c]=(int)(Math.random()*10);
}
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(B[f][c]+" ");
}
System.out.println();
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
T[f][c]=B[c][f];
}
}
System.out.println("la transpuesta de la matriz B es:");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(T[f][c]+" ");
}
System.out.println();
}

System.out.println("la matriz C es:");


for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
C[f][c]=A[f][c]+k*B[f][c];
}
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(C[f][c]+" ");
}
System.out.println();
}
}

}
EJERCICIO 29.
Llenar una matriz cuadrada (pedir el valor de N, que sea igual o mayor a cinco) llenarlo como la
matriz “Z” (de la siguiente forma y mostrarlo.
Ejemplo para una matriz 5x5:
public class ejer11 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c;
int[][]M=new int[20][20];
System.out.println("introducir el orden de la matriz:");
n=w.nextInt();
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
M[1][c]=1;
M[n][c]=1;
if((f+c)==(n+1)) {
M[f][c]=1;
}
}
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}
}

}
EJERCICIO 30.

EJERCICIO 31.

Ejercicio 32.
Llenar una matriz no cuadrada por teclado. Luego se pide un número por teclado el cual se debe
buscar dentro de la matriz, determinar si existe o no el número buscado (mostrar un mensaje para
esto) y la posición donde se encuentra (tomar en cuenta que la posición del número está dada por dos
variables, una que indica la fila y otra la columna donde se encuentra).

public class ejer13 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int f,c,i,j,k;
int [][]M=new int[20][20];
System.out.println("introducir el numero de filas:");
f=w.nextInt();
System.out.println("introducir el numero de columnas:");
c=w.nextInt();
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
M[i][j]=(int)(Math.random()*10);
}
}
System.out.println("la matriz es");
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
System.out.print(M[i][j]+" ");
}
System.out.println();
}
System.out.println("introducir el numero a buscar en la matriz:");
k=w.nextInt();
int h=0;
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
if(k==M[i][j]) {
System.out.println("la posicion del numero buscado
es:"+"["+i+"]"+"["+j+"]");
}else {
h=h+1;
}
}
}
if (h==(f*c)) {
System.out.println("no existe el numero");
}
}

EJERCICIO 33.
Llenar una matriz cuadrada (pedir el valor de N) llenarlo como la matriz ajedrez de la siguiente
forma y mostrarlo
public class ejer14 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c;
int [][]M=new int[20][20];
System.out.println("introducir el orden de la matriz:");
n=w.nextInt();
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
if ((f+c)%2==0) {
M[f][c]=1;
}
}
}
System.out.println("la matriz es");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}

EJERCICIO 34.
Llenar por teclado dos matrices cuadrada (pedir el valor de N) calcular la suma de las diferentes
posiciones de las matrices y mostrar la suma
public class ejer15 {

public static void main(String[] args) {


Scanner w=new Scanner (System.in);
int n, f,c;
int[][]M=new int [20][20];
int [][]N=new int [20][20];
int [][]P=new int [20][20];
System.out.println("introducir el orden de las matrices ");
n=w.nextInt();
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
M[f][c]=(int)(Math.random()*10);
}
}
System.out.println("la matriz M es");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
N[f][c]=(int)(Math.random()*10);
}
}
System.out.println("la matriz N es");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(N[f][c]+" ");
}
System.out.println();
}
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
P[f][c]=M[f][c]+N[f][c];
}
}
System.out.println("la matriz suma de M + N es");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(P[f][c]+" ");
}
System.out.println();
}
}

EJERCICIO 35.
Dada una matriz X de n filas y m columnas, elabore un algoritmo que: a) Calcule el mayor valor de
la matriz
b) Determine las posiciones (fila y columna) cuyos valores sean iguales al mayor.
c) Modifique la matriz de tal manera que cada elemento de la matriz sea multiplicado por el ma- yor
valor.
d) Escriba la matriz original y la modificada
public class ejer16 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int f,c,i,j,may=-9999999;
int [][]X=new int[20][20];
System.out.println("introducir el numero de filas:");
f=w.nextInt();
System.out.println("introducir el numero de columnas:");
c=w.nextInt();
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
X[i][j]=(int)(Math.random()*10);
}
}
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
System.out.print(X[i][j]+" ");
}
System.out.println();
}
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
if(X[i][j]>may) {
may=X[i][j];
}
}
}
System.out.println("el numero mayor de la matriz es: "+may);
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
if(may==X[i][j]) {
System.out.println("la posicion del numero mayor es:
"+"["+i+"]"+"["+j+"]");
}
}
}
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
X[i][j]=may*X[i][j];
}
}
System.out.println("la nueva matriz multiplicada por el numero mayor
es:");
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
System.out.print(X[i][j]+" ");
}
System.out.println();
}
}

}
EJERCICIO 36.
Cada alumno de un curso tiene notas correspondientes a cuatro asignaturas diferentes, pudiendo no
tener calificación (para este caso se asume una calificación de 0) en alguna asignatura. Ela- bore un
algoritmo que permita: a) Calcular el promedio de las calificaciones de cada alumno.
b) Calcular el promedio general de cada asignatura
c) Porcentaje de estudiantes que no asisten a cada asignatura (calificaciones igual a 0)
public class ejer17 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c,s,h;
int [][]M=new int[20][20];
int [][]N=new int[20][20];
int []v=new int[20];
int []b=new int[100];
System.out.println("introducir la cantidad de alumnos:");
n=w.nextInt();
for(f=1;f<=n;f++) {
for(c=1;c<=4;c++) {
M[f][c]=(int)(Math.random()*100);
}
}
for(f=1;f<=n;f++) {
for(c=1;c<=4;c++) {
N[f][c]=M[f][c];
}
}
System.out.println("la matriz de alumnos y sus notas es:");
for(f=1;f<=n;f++) {
for(c=1;c<=4;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}
System.out.println("el promedio de cada alumno es:");
for(f=1;f<=n;f++) {
s=0;
for(c=1;c<=4;c++) {
s=s+M[f][c];
}
v[f]=s;
}
for(f=1;f<=n;f++) {
System.out.println("el promedio del alumno "+f+" es:"+(v[f]/4));
}
System.out.println("el promedio de las notas de las 4 materias es:");

for(c=1;c<=4;c++) {
h=0;
for(f=1;f<=n;f++) {
h=h+N[f][c];
}
b[c]=h;
}
for(c=1;c<=4;c++) {
System.out.println("el promedio de la asignatura "+c+" es:"+
(b[c]/n));
}
}

EJERCICIO 37.
Un deportista cumple durante un año con un conjunto de actividades. El mismo desea poder lle- var
un registro de las puntuaciones obtenidas cada mes del año en cada una de las actividades que debe
ejecutar. Para ello se le ha ocurrido almacenar esto en una matriz donde las filas repre- sentan los
meses del año, y las columnas las actividades. De esta forma una posición (i,j) de la matriz indica una
puntuación obtenida dada una actividad y un mes particular. Se desea que us- ted le proporcione un
pequeño algoritmo con el cual pueda ejecutar fácilmente las siguientes operaciones: a) Cargar todos
los datos de todas las actividades realizadas durante de un año.
b) Obtener los promedios del deportista por cada actividad al final del año, el cual es el resulta- do de
sumar cada una de las puntuaciones correspondientes para todos los meses y dividir cada resultado
entre doce.
c) Dado un mes en particular, determinar en cual actividad el deportista obtuvo mayor puntua- ción.
d) Determinar el mes del año en el que el deportista obtuvo el menor promedio de puntuaciones

public class ejer18 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c,k,may=-99999;
int [][]M=new int [20][20];
int []v=new int[20];
System.out.println("introducir el numero de actividades que se realizo
en los meses:");
n=w.nextInt();
for(f=1;f<=12;f++) {
for(c=1;c<=n;c++) {
M[f][c]=(int)(Math.random()*50);
}
}
System.out.println("la matriz de actividades son:");
for(f=1;f<=12;f++) {
for(c=1;c<=n;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}
for(c=1;c<=n;c++) {
int s=0;
for(f=1;f<=12;f++) {
s=s+M[f][c];
}
v[c]=s;
}
for(c=1;c<=n;c++) {
System.out.println("el promedio dela actividad "+c+" es "+
(v[c]/12));
}
System.out.println("introducir el numero de un mes para ver en cual
actividad se tuvo el mayor puntaje:");
k=w.nextInt();
for(c=1;c<=n;c++) {
if(M[k][c]>may) {
may=M[k][c];
}
}
System.out.println("el mayor puntaje en el mes "+k+" es "+may);
}

EJERCICIO 38.
Dada una matriz elabore un algoritmo que determine:
• El elemento mayor.
• El elemento menor.
• Cantidad de elementos positivos y negativos
• El promedio de todos los elementos
public class ejer20 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int f,c,i,j,may=-90000,men=999999;
int [][]M=new int[20][20];
int []v=new int [20];
System.out.println("introducir el numero de filas de la matriz:");
f=w.nextInt();
System.out.println("introducir el numero de columnas de la matriz:");
c=w.nextInt();
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
M[i][j]=(int)(Math.random()*10);
}
}
System.out.println("la matriz es:");
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
System.out.print(M[i][j]+" ");
}
System.out.println();
}
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
if(M[i][j]>may) {
may=M[i][j];
}
if(M[i][j]<men) {
men=M[i][j];
}
}
}
int h=0;
System.out.println("el elemento mayor es: "+may);
System.out.println("el elemento menor es: "+men);
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
if(M[i][j]>=0) {
h=h+1;
}
}
}
System.out.println("el numero e elementos positivos es: "+h+" y el
numero de elementos negativos es "+((f*c)-h));
}

EJERCICIO 39.
Escribir un programa que lea una matriz de 3 filas y 3 columnas de valores enteros. A continua- ción,
el programa debe pedir el número de una fila. El programa deberá devolver el máximo de esa fila.
public class ejer21 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n,f,c,k,may=-900000;
int[][]M=new int[20][20];
System.out.println("introducir el orden de la matriz:");
n=w.nextInt();
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
M[f][c]=(int)(Math.random()*100);
}
}
System.out.println("la matriz es:");
for(f=1;f<=n;f++) {
for(c=1;c<=n;c++) {
System.out.print(M[f][c]+" ");
}
System.out.println();
}
System.out.println("introducir el numero de la fila del cual se quiere
sacar el vamor maximo:");
k=w.nextInt();
for(c=1;c<=n;c++) {
if(M[k][c]>may) {
may=M[k][c];
}
}
System.out.println("el numero maximo de la fila "+k+" es "+may);
}

EJERCICIO 40.
Diseñar un algoritmo para llenar una matriz no cuadrada (cantidad de filas distinta a la cantidad de
columnas), luego debe intercambiar la primera fila con la última. Mostrar la matriz resultan- te.
public class ejer22 {

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int f,c,i,j,may=-90000,men=999999;
int [][]M=new int[20][20];
int []v=new int [20];
int[]aux=new int[20];
System.out.println("introducir el numero de filas de la matriz:");
f=w.nextInt();
System.out.println("introducir el numero de columnas de la matriz:");
c=w.nextInt();
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
M[i][j]=(int)(Math.random()*10);
}
}
System.out.println("la matriz es:");
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
System.out.print(M[i][j]+" ");
}
System.out.println();
}
for(j=1;j<=c;j++) {
aux[j]=M[1][j];
M[1][j]=M[f][j];
M[f][j]=aux[j];
}
System.out.println("la matriz intercambiada es:");
for(i=1;i<=f;i++) {
for(j=1;j<=c;j++) {
System.out.print(M[i][j]+" ");
}
System.out.println();
}
}

PROGRAMACION MODULAR

EJERCICIO 1. Sumar todos los dígitos de un número mayor a cero


public class ejer1 {
public static void sumar (int a,int b) {
int s;
s=a+b;
System.out.println("la suma es: "+s);
}
public static void main(String[] args) {
Scanner w=new Scanner(System.in);
int a,b;
System.out.println("introducir el primer numero a sumar:");
a=w.nextInt();
System.out.println("introducir el segundo numero a sumar: ");
b=w.nextInt();
sumar(a,b);
}

}
EJERCICIO 2. Contar la cantidad de dígitos que tiene un número.
public class ejer2 {
public static void contar(int newn) {
int i,a,b;
i=0;
while(newn!=0) {
a=newn%10;
i++;
newn=newn/10;
}
b=i;
System.out.println("el numero de digitos es:"+b);
}

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n;
System.out.println("introducir el numero a contar los digitos:");
n=w.nextInt();
contar(n);

}
EJERCICIO 3. Invertir un número.
public class ejer3 {
public static void invertir(int nn) {
int n=0;

while(nn!=0) {
int a=nn%10;
n=n*10+a;
nn=nn/10;
}
System.out.println("el numero invertido es: "+n);
}

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n;
System.out.println("introducir el numero a ser invertido:");
n=w.nextInt();
int k=w.nextInt();
invertir(n);
invertir(k);
}

}
EJERCICIO 4. Determinar si un número es múltiplo de k. Si es así devuelva 1 y 0 en caso contrario.
Ejemplo. Si n = 42 y k = 7  se devuelve 1 (porque 42 es múltiplo de 7)
public class ejer4 {
public static int devolver_numero(int n,int k) {
int b;
if (n%k==0) {
b=1;
}else {
b=0;
}
return b;
}

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
System.out.println("introducir el numero n");
int n=w.nextInt();
System.out.println("introducir el numero k");
int k=w.nextInt();
int dn=devolver_numero(n,k);
if(dn==1) {
System.out.println("el numero "+n+" es multiplo de "+k);
}else {
System.out.println("el numero "+n+" no es multiplo de "+k);
}
}

}
EJERCICIO 5 Encuentre el cociente y el residuo de dos números mayores a cero dados en base a restas
sucesivas. Ejemplo: Si A = 435 y B = 21  Cociente = 20 y Residuo = 15
public class ejer5 {
public static void coc_res(int div,int d) {
int c,r;
c=div/d;
r=div%d;
System.out.println("el cociente es:"+c);
System.out.println("el resto es:"+r);
}

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int div,d;
do {
System.out.println("introducir el dividendo:");
div=w.nextInt();
System.out.println("introducir el divisor:");
d=w.nextInt();
}while(div<=0 || d<=0 || div<d );
coc_res(div,d);
}

}
EJERCICIO 6. Encuentre el máximo común divisor de dos números. Ejemplo: Si A = 145 y B = 100 el mcd
=5
public class ejer6 {
public static void maxcd(int a,int b) {
int n,m,c;
if(a>b) {
n=a;
m=b;
}else {
n=b;
m=a;
}
c=n%m;
do {
n=m;
m=c;
c=n%m;
}while(c!=0);
System.out.println("el MCD es "+m);
}

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int a,b;
System.out.println("introducir el primer numero:");
a=w.nextInt();
System.out.println("introducir el segundo numero:");
b=w.nextInt();
maxcd(a,b);
}

}
EJERCICIO 7 Determine si un número es primo o no. Devuelva 1 si es primo y 0 en caso contrario
public class ejer7 {
public static void primo(int n) {
int i,c=0,b;
for(i=1;i<=n;i++) {
if(n%i==0) {
c++;
}
}
if(c==2) {
b=1;
System.out.println("1 el numero es primo");
}else {
b=0;
System.out.println("0 el numero no es primo");
}
}

public static void main(String[] args) {


Scanner w=new Scanner(System.in);
int n;
System.out.println("introducir el numero n:");
n=w.nextInt();
primo(n);
}

}
EJERCICIO 8 Calcule la suma de los divisores de un número. Ejemplo: Si n = 4  Se devuelve 7 (1+2+4 =
7)

También podría gustarte