Anda di halaman 1dari 15

EJERCICIOSRESUELTOS

1. LeerunamatrizdenXmelementosycalcularlasumadecadaunadesusfilasycolumnas,
dejandodichosresultadosendosvectores,unodelasumadefilasyotrodecolumnas.

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {
public static void leerMatriz(int A[][], Scanner leer){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
System.out.format("Ingrese elemento [%d][%d]: ", i, j);
A[i][j]=leer.nextInt();
}
}
}
public static void presentaDoble(int A[][]){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
System.out.format(A[i][j]+" ");
}
System.out.print("\n");
}
}
public static void calcular(int A[][], int filas[], int columnas[]){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
filas[i]=filas[i]+A[i][j];
columnas[j]=columnas[j]+A[i][j];
}
}
}
public static void presentasimple(int X[]){
for(int i=0; i<X.length; i++){
System.out.format(X[i]+" ");
}
}
public static void main(String[] args) {
int numFil, numCol;
int matriz[][];
int sumFil[];
int sumCol[];
Scanner leer = new Scanner(System.in);
System.out.print("Ingrese el numero de filas del arreglo : ");
numFil = leer.nextInt();
System.out.print("Ingrese el numero de columnas del arreglo : ");
numCol = leer.nextInt();
matriz = new int[numFil][numCol];
sumFil = new int[numFil];
sumCol = new int[numCol];
leerMatriz(matriz, leer);
presentaDoble(matriz);
calcular(matriz, sumFil, sumCol);
System.out.print("\n");
presentasimple(sumFil);
System.out.print("\n");
presentasimple(sumCol);
leer.close();
}
}

2. Calcularelnmerodeelementosnegativos,ceroypositivosdeunvectordadoden elementos.

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {
public static void leerArreglo(int A[], Scanner leer){
for(int i=0; i<A.length; i++){
System.out.format("Ingrese elemento [%d]: ", i);
A[i]=leer.nextInt();
}
}
public static void presenta(int A[]){
for(int i=0; i<A.length; i++){
System.out.print(A[i]+" ");
}
System.out.print("\n");
}
public static void calcular(int A[]){
int contP=0, contN=0, cont0=0;
for(int i=0; i<A.length; i++){
if(A[i]<0)
contN++;
else if(A[i]>0)
contP++;
else
cont0++;
}
System.out.format("Tenemos %d elementos positivos \n", contP);
System.out.format("Tenemos %d elementos negativos \n", contN);
System.out.format("Tenemos %d elementos igales a cero \n", cont0);
}
public static void main(String[] args) {
int lim;
int Arreglo[];
Scanner leer = new Scanner(System.in);
System.out.print("Ingrese el numero de elementos del arreglo : ");
lim = leer.nextInt();
Arreglo = new int[lim];
leerArreglo(Arreglo, leer);
presenta(Arreglo);
calcular(Arreglo);
leer.close();
}
}

3. EscribaunprogramaquemepermitaalmacenarenunarregloBelfactorialde10nmeros
almacenadospreviamenteenunarregloA.

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {
public static void leerArreglo(int A[], Scanner leer){
for(int i=0; i<A.length; i++){
System.out.format("Ingrese elemento [%d]: ", i);
A[i]=leer.nextInt();
}
}

public static void presenta(int A[]){


for(int i=0; i<A.length; i++){
System.out.print(A[i]+" ");
}
System.out.print("\n");
}
public static int fac(int X){
int f=1;
for(int i=1; i<=X; i++){
f=f*i;
}
return f;
}
public static void generar(int A[], int B[]){
for(int i=0; i<A.length; i++){
B[i]=fac(A[i]);
}
}
public static void main(String[] args) {
int lim;
int Arreglo[];
int Factoriales[];
Scanner leer = new Scanner(System.in);
System.out.print("Ingrese el numero de elementos del arreglo : ");
lim = leer.nextInt();
Arreglo = new int[lim];
Factoriales = new int[lim];
leerArreglo(Arreglo, leer);
presenta(Arreglo);
generar(Arreglo, Factoriales);
presenta(Factoriales);
leer.close();
}
}

4. Calcularlasumadeloselementosdeladiagonalprincipaldeunamatrizden Xn.

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {
public static void leerMatriz(int A[][], Scanner leer){
for(int i=0; i<A.length; i++){
for(int j=0; j<A.length; j++){
System.out.format("Ingrese elemento [%d][%d]: ", i, j);
A[i][j]=leer.nextInt();
}
}
}
public static void presenta(int A[][]){
for(int i=0; i<A.length; i++){
for(int j=0; j<A.length; j++){
System.out.format(A[i][j]+" ");
}
System.out.print("\n");

}
}
public static void calcular(int A[][]){
int s=0;
for(int i=0; i<A.length; i++){
s=s+A[i][i];
}
System.out.format("La suma de la diagonal principal es : %d \n", s);
}
public static void main(String[] args) {
int lim;
int matriz[][];
Scanner leer = new Scanner(System.in);
System.out.print("Ingrese el numero de filas y columnas del arreglo : ");
lim = leer.nextInt();
matriz = new int[lim][lim];
leerMatriz(matriz, leer);
presenta(matriz);
calcular(matriz);
leer.close();
}
}

5. Se dispone de un arreglo T de n nmeros diferentes de 0, (puede ser llenada por un


procedimientoquegenerenmerosaleatoriosdistintosdecero);crearunnuevoarregloenel
que todos sus elementos resulten de dividir los elementos del arreglo T por el elemento T[i],
siendoiunvalorledoporteclado.

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {
public static void leerArreglo(float A[]){
for(int i=0; i<A.length; i++){
A[i]=(int)(Math.random()*15 + 1);
}
}
public static void presenta(float A[]){
for(int i=0; i<A.length; i++){
System.out.print(A[i]+" ");
}
System.out.print("\n");
}
public static void generar(float A[], float B[], Scanner leer){
int mul;
System.out.print("Ingrese el indice para la operacion : ");
mul = leer.nextInt();
for(int i=0; i<A.length; i++){
B[i]=(A[i]/A[mul]);
}
}
public static void main(String[] args) {
int lim;
float Arreglo[];
float Lista[];

Scanner leer = new Scanner(System.in);


System.out.print("Ingrese el numero de elementos del arreglo : ");
lim = leer.nextInt();
Arreglo = new float[lim];
Lista = new float[lim];
leerArreglo(Arreglo);
presenta(Arreglo);
generar(Arreglo, Lista, leer);
presenta(Lista);
leer.close();
}
}

6. Se dispone de un arreglo de n elementos. Se desea disear un algoritmo que permita insertar el


valorx enlaposicinksimadelalista,debiendodesplazarseloselementoshacialaderechapara
darlugaralnuevoelementoydesechandoelltimoelementosobrante.

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {
public static void leerArreglo(int A[]){
for(int i=0; i<A.length; i++){
A[i]=(int)(Math.random()*15 + 1);
}
}
public static void presenta(int A[]){
for(int i=0; i<A.length; i++){
System.out.print(A[i]+" ");
}
System.out.print("\n");
}
public static void inserta(int A[], Scanner leer){
int num, donde;
System.out.print("Ingrese el numero a insertar : ");
num = leer.nextInt();
System.out.print("Ingrese la posicion a insertar : ");
donde = leer.nextInt();
for(int i=A.length-1; i>donde; i--){
A[i]=A[i-1];
}
A[donde]=num;
}
public static void main(String[] args) {
int lim;
int Arreglo[];
Scanner leer = new Scanner(System.in);
System.out.print("Ingrese el numero de elementos del arreglo : ");
lim = leer.nextInt();
Arreglo = new int[lim];
leerArreglo(Arreglo);
presenta(Arreglo);
inserta(Arreglo, leer);

presenta(Arreglo);
leer.close();
}
}

7. Escribir un programa que permita calcular el cuadrado de los 100 primeros nmeros enteros y a
continuacinescribirunarregloquecontengadichosresultados.

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {
public static void generar(int A[]){
for(int i=0; i<100; i++){
A[i]=(i+1)*(i+1);
}
}
public static void presenta(int A[]){
for(int i=0; i<100; i++){
System.out.print(A[i]+" ");
}
System.out.print("\n");
}
public static void main(String[] args) {
int lim;
int Arreglo[];
Arreglo = new int[100];
generar(Arreglo);
presenta(Arreglo);
}
}

8. DadaunalistaL den Xm elementos,disearunprogramaquecalculelasumadenmerosparese


imparescontenidosenella.

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {
public static void leerMatriz(int A[][], Scanner leer){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
System.out.format("Ingrese elemento [%d][%d]: ", i, j);
A[i][j]=leer.nextInt();
}
}
}
public static void presentar(int A[][]){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
System.out.format(A[i][j]+" ");
}
System.out.print("\n");
}

}
public static void calcular(int A[][]){
int sumP=0, sumI=0;
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
if(A[i][j]%2 == 0)
sumP=sumP+A[i][j];
else
sumI=sumI+A[i][j];
}
}
System.out.format("La suma de pares es : %d \n", sumP);
System.out.format("La suma de impares es : %d \n", sumI);
}
public static void main(String[] args) {
int numFil, numCol;
int matriz[][];
Scanner leer = new Scanner(System.in);
System.out.print("Ingrese el numero de filas del arreglo : ");
numFil = leer.nextInt();
System.out.print("Ingrese el numero de columnas del arreglo : ");
numCol = leer.nextInt();
matriz = new int[numFil][numCol];
leerMatriz(matriz, leer);
presentar(matriz);
calcular(matriz);
leer.close();
}
}

9. SedesearealizarunprogramaquepermitacontrolarlasreservasdeplazasdeunvueloQuitoLoja,
deacuerdoconlassiguientesnormasdelacompaaarea.
a. Nmerodeplazasdelavin:100.
b. Plazasnumeradasdel1al30:fumadores.
c. Plazasnumeradasdel31al100:nofumadores.
Sedesearealizarlareservaapeticindelpasajeroycerrarlareservacuandonohayaplazaslibreso
el avin est prximo a despegar. Como ampliacin de este algoritmo, considere la opcin de
anulacionesimprevistasdereservas.
(Considerelautilizacindeunmenporpantallapararepresentarcadaunodelosestados).

10. Cada alumno de una clase de 20 estudiantes tiene notas correspondientes a 5 asignaturas
diferentes, pudiendo no tener calificacin en alguna asignatura. A cada asignatura le
correspondeundeterminadocoeficiente.Escribirunprogramaquepermita:
a. Calcularlamediadecadaalumno
b. Mediageneraldelaclase
c. Mediadelaclaseencadaasignatura
d. Porcentajedefaltas(nopresentadoaexamen)

package ejerciciospropuestos;
import java.util.Scanner;

public class EjerciciosPropuestos {


public static void leerCurso(int A[][], String N[], Scanner leer){
System.out.print("INGRESO DE ESTUDIANTES \n\n");
for(int j=0; j<A[0].length; j++){
System.out.format("Ingrese estudiante [%d]: ", j+1);
N[j]=leer.next();
for(int i=0; i<A.length; i++){
System.out.format("Ingrese nota de materia [%d] de "+N[j]+" : ", i+1);
A[i][j]=leer.nextInt();
}
}
}
public static void presentar(String N[], int A[][]){
for(int j=0; j<A[0].length; j++){
System.out.print(N[j]+" : ");
for(int i=0; i<A.length; i++){
System.out.print(" "+A[i][j]);
}
System.out.print("\n");
}
}
public static void calculaest(String N[], int A[][], Scanner leer){
String nombre;
int indice=-1, cont=0;
float prom=0, S=0;
System.out.print("Ingrese estudiante a buscar : ");
nombre = leer.next();
for(int i=0; i<N.length; i++){
if(N[i].equals(nombre)){
indice=i;
i=N.length;
}
}
if(indice>=0){
for(int j=0; j<5; j++){
if(A[j][indice]!=0)
S=S+A[j][indice];
else
cont++;
prom=S/(5-cont);
}
System.out.print("El promedio del estudiante "+N[indice]+" es :
"+prom+"\n");
}else{
System.out.print("El estudiante no existe \n");
}
}
public static void calculagen(int A[][]){
int cont=0;
float prom=0, S=0;
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
if(A[i][j]!=0)
S=S+A[i][j];
else
cont++;
}
}
prom=S/((A.length*A[0].length)-cont);

System.out.format("El promedio general es : %f \n", prom);


}
public static void calculaasi(int A[][], Scanner leer){
int indice=-1, cont=0;
float prom=0, S=0;
System.out.print("Ingrese indice de materia : ");
indice = leer.nextInt();
for(int i=0; i<A[0].length; i++){
if(A[indice][i]!=0)
S=S+A[indice][i];
else
cont++;
}
prom=S/(A[0].length-cont);
System.out.format("El promedio de la materia %d es: %f \n", indice, prom);
}
public static void calculafal(int A[][]){
int cont=0;
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
if(A[i][j]==0)
cont++;
}
}
System.out.format("El procentaje de faltas es de %d por ciento \n", cont);
}
public static void menu(String N[], int A[][], Scanner leer){
int op;
do{
System.out.print("Calcular la media de un estudiante
System.out.print("Calcular media general de la clase
System.out.print("Calcular media de clase por asignatura
System.out.print("Porcentaje de faltas de la clase
System.out.print("Salir
op = leer.nextInt();
switch (op){
case 1: calculaest(N, A, leer);
break;
case 2: calculagen(A);
break;
case 3: calculaasi(A, leer);
break;
case 4: calculafal(A);
break;
default: break;
}
}while(op!=5);
}
public static void main(String[] args) {
String nombres[];
int notas[][];
Scanner leer = new Scanner(System.in);
nombres = new String[20];
notas = new int[5][20];
leerCurso(notas, nombres, leer);
presentar(nombres, notas);
menu(nombres, notas, leer);

[1]
[2]
[3]
[4]
[5]

:
:
:
:
:

\n");
\n");
\n");
\n");
\n");

leer.close();
}
}

11. Una empresa tiene diez almacenes y desea un programa que lea sus ventas mensuales, calcule la
mediadelasventasyobtenerunlistadodelosalmacenescuyasventasmensualessonsuperioresa
lamedia.

package mas.ejercicios;
import java.util.Scanner;
public class MasEjercicios {
public static void leerAlmacenes(String A[], int V[], Scanner leer){
System.out.print("INGRESO DE ALMACENES \n\n");
for(int i=0; i<A.length; i++){
System.out.format("Ingrese almacen [%d]: ", i+1);
A[i]=leer.next();
System.out.print("Ingrese sus ventas : ");
V[i]=leer.nextInt();
}
}
public static void presentar(String A[], int V[]){
for(int i=0; i<A.length; i++){
System.out.print(A[i]+" : "+V[i]+"\n");
}
System.out.print("\n");
}
public static void calcular(String A[], int V[]){
float prom=0, S=0;
for(int i=0; i<A.length; i++){
S=S+V[i];
}
prom=S/V.length;
System.out.print("El promedio de ventas de los almacenes es : "+prom+"\n");
System.out.print("LOS ALMACENES QUE SUPERAN EL PROMEDIO SON : \n");
for(int j=0; j<V.length; j++){
if(V[j]>=prom){
System.out.print(A[j]+" : "+V[j]+"\n");
}
}
}
public static void main(String[] args) {
String almacenes[];
int ventas[];
Scanner leer = new Scanner(System.in);
almacenes = new String[5];
ventas = new int[5];
leerAlmacenes(almacenes, ventas, leer);
presentar(almacenes, ventas);
calcular(almacenes, ventas);
leer.close();
}
}

12. Sedisponedeunalistaden nombresdealumnos.Escribirunprogramaquesoliciteelnombredeun


alumnoybusqueenlalistasielnombreestono.

package mas.ejercicios;
import java.util.Scanner;
public class MasEjercicios {
public static void leerNombres(String N[], Scanner leer){
System.out.print("INGRESO DE NOMBRES \n\n");
for(int j=0; j<N.length; j++){
System.out.format("Ingrese nombre [%d]: ", j+1);
N[j]=leer.next();
}
}
public static void presentar(String N[]){
for(int i=0; i<N.length; i++){
System.out.print(" "+N[i]);
}
System.out.print("\n");
}
public static void buscar(String N[], Scanner leer){
String nombre;
int indice=-1;
System.out.print("Ingrese nombre a buscar : ");
nombre = leer.next();
for(int i=0; i<N.length; i++){
if(N[i].equals(nombre)){
indice=i;
i=N.length;
}
}
if(indice>=0){
System.out.print("El nombre buscado esta en la posicin : "+indice+"\n");
}else{
System.out.print("El nombre buscado no existe \n");
}
}
public static void main(String[] args) {
int num;
String nombres[];
Scanner leer = new Scanner(System.in);
System.out.print("numero de elementos : ");
num = leer.nextInt();
nombres = new String[num];
leerNombres(nombres, leer);
presentar(nombres);
buscar(nombres, leer);
leer.close();
}
}

13. Realiceunprogramaquemepermitarealizar(segnunmenpresentadoalusuario):
a. Lamultiplicacindedosmatricesbidimensionales.
b. Sumadematrices.
c. Restadematrices.
d. Multiplicacinporunescalar
e. Traspuestadeunamatriz
(Considreselasrestriccionesnecesariasparacadaoperacin).

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {

public static void leerMatriz(int A[][], Scanner leer){


for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
System.out.format("Ingrese elemento [%d][%d]: ", i, j);
A[i][j]=leer.nextInt();
}
}
}
public static void presentaDoble(int A[][]){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
System.out.print(A[i][j]+" ");
}
System.out.print("\n");
}
}
public static void inicializaDoble(int A[][]){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
A[i][j]=0;
}
}
}
public static void producto(int A[][], int B[][], int C[][]){
for(int k=0; k<B[0].length; k++){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
C[i][k]=C[i][k]+(A[i][j]*B[j][k]);
}
}
}
}
public static void multiplica(Scanner leer){
int n, m, l;
int A[][], B[][], C[][];
System.out.print("Ingrese el numero de filas de la matriz A : ");
m = leer.nextInt();
System.out.print("Ingrese el numero de columnas de la matriz A : ");
n = leer.nextInt();
System.out.print("Ingrese el numero de columnas de la matriz B : ");
l = leer.nextInt();
A = new int[m][n];
B = new int[n][l];
C = new int[m][l];
leerMatriz(A, leer);
leerMatriz(B, leer);
inicializaDoble(C);
producto(A, B, C);
presentaDoble(C);
}
public static void suma(Scanner leer){
int n, m;
int A[][], B[][], C[][];
System.out.print("Ingrese el numero de filas de las matrices : ");
m = leer.nextInt();
System.out.print("Ingrese el numero de columnas de las matrices : ");
n = leer.nextInt();
A = new int[m][n];
B = new int[m][n];
C = new int[m][n];
leerMatriz(A, leer);
leerMatriz(B, leer);
inicializaDoble(C);
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
C[i][j]=A[i][j]+B[i][j];
}
}
presentaDoble(C);
}

public static void menu(Scanner leer){


int op;
do{
System.out.print("Multiplicacin de matrices
[1] : \n");
System.out.print("Suma de matrices
[2] : \n");
System.out.print("Diferencia de matrices
[3] : \n");
System.out.print("Multiplicacin por un escalar [4] : \n");
System.out.print("Traspuesta de la matriz
[5] : \n");
System.out.print("Salir
[6] : \n");
op = leer.nextInt();
switch (op){
case 1: multiplica(leer);
break;
case 2: suma(leer);
break;
case 3: System.out.print("Es la misma funcin de sumar, solo cambiamos
es signo \n");
break;
case 4: System.out.print("Ya fue revisada previamente en clases \n");
break;
case 5: System.out.print("Ya fue revisada previamente en clases \n");
break;
default: break;
}
}while(op!=6);
}
public static void main(String[] args) {
Scanner leer = new Scanner(System.in);
menu(leer);
leer.close();
}
}

14. Realice un programa que me permita realizar el ordenamiento de una matriz bidireccional (el
ordenamientodebeserrealizadoenlamismamatriz)

package ejerciciospropuestos;
import java.util.Scanner;
public class EjerciciosPropuestos {
public static void leerMatriz(int A[][], Scanner leer){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
System.out.format("Ingrese elemento [%d][%d]: ", i, j);
A[i][j]=leer.nextInt();
}
}
}
public static void presentaDoble(int A[][]){
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
System.out.print(A[i][j]+" ");
}
System.out.print("\n");
}
}
public static void ordena(int A[][]){
int b, c, aux;
for(int i=0; i<A.length; i++){
for(int j=0; j<A[0].length; j++){
if(j == A[0].length-1){
b=i+1;
c=0;
}
else{
b=i;
c=j+1;
}

for(int k=b; k<A.length; k++){


for(int l=c; l<A[0].length; l++){
if(A[i][j]>A[k][l]){
aux=A[i][j];
A[i][j]=A[k][l];
A[k][l]=aux;
}
}
c=0;
}
}
}
}
public static void main(String[] args) {
int numFil, numCol;
int numeros[][];
Scanner leer=new Scanner(System.in);
System.out.printf("Ingrese filas de la matriz : ");
numFil=leer.nextInt();
System.out.printf("Ingrese columnas de la matriz : ");
numCol=leer.nextInt();
numeros = new int[numFil][numCol];
leerMatriz(numeros, leer);
presentaDoble(numeros);
ordena(numeros);
presentaDoble(numeros);
leer.close();
}
}

15. Diseeunprogramaquemepermitaimplementarelalgoritmodelcuadradomgicode3X3.

Anda mungkin juga menyukai