Ejercicio 01: Dada dos matrices A y B intercambiar los mínimos de A
con los máximos de B.
package Intercambio;
import [Link];
public class Ejercicio01 {
Scanner leer=new Scanner([Link]);
public void insertar_matriz(int A[][],int nfilasA,int
ncolumnasA) {
for(int i=0;i<nfilasA;i++) {
for(int j=0;j<ncolumnasA;j++) {
[Link]("Matriz ["+i+"]["+j+"]");
A[i][j]=[Link]();
}
}
public void imprimirmatriz(int A[][],int nfilasA, int
ncolumnasA) {
// TODO Auto-generated method stub
for(int i=0;i<nfilasA;i++) {
for(int j=0;j<ncolumnasA;j++) {
[Link](" "+A[i][j]);
}
[Link]("");
}
}
public int menor_numero(int A[][],int f, int c) {
int menor_num = A[1][1];
[Link]("");
for(int i=0; i<f; i++) {
for(int j=0;j<c;j++) {
if(A[i][j]<menor_num)
menor_num=A[i][j];
}
return menor_num;
}
public int mayor_numero(int A[][], int f, int c) {
int mayor_num = A[0][0];
[Link]("");
for(int i=0; i<f; i++ ) {
for(int j=0;j<c;j++) {
if(A[i][j]>mayor_num)
mayor_num=A[i][j];
}
}
return mayor_num;
}
public void intercambiar(int A[][], int filasA, int
columnasA, int B[][],int filasB,int columnasB) {
int menor_A=menor_numero(A,filasA,columnasA);
int mayor_B=mayor_numero(B,filasB,columnasB);
//cambiando los minimos de A con los maximos de B
for(int i=0;i<filasA;i++) {
for(int j=0;j<columnasA;j++) {
if( A[i][j] == menor_A)
A[i][j]=mayor_B;
}
}
for(int i=0;i<filasB;i++) {
for(int j=0;j<columnasB;j++) {
if( B[i][j] == mayor_B)
B[i][j]=menor_A;
}
}
}
}
APLICACIÓN
package Intercambio;
import [Link];
public class Apk {
static Scanner leer=new Scanner([Link]);
public static void main(String[] args) {
// TODO Auto-generated method stub
int nfilasA,ncolumnasA,nfilasB,ncolumnasB;
[Link]("Las filas de la matriz A son: ");
nfilasA=[Link]();
[Link]("Las columnas de la matriz A son : ");
ncolumnasA=[Link]();
[Link]("Las filas de la matriz B son: ");
nfilasB=[Link]();
[Link]("Las columnas de la matriz B son : ");
ncolumnasB=[Link]();
int [][] A=new int[nfilasA][ncolumnasA];
int [][] B=new int[nfilasB][ncolumnasB];
Ejercicio01 op=new Ejercicio01();
[Link]("La matriz A: ");
op.insertar_matriz(A, nfilasA, ncolumnasA);
[Link]("La matriz B: ");
op.insertar_matriz(B, nfilasB, ncolumnasB);
[Link]("Las matrices originales son: ");
[Link](A, nfilasA, ncolumnasA);
[Link]("");
[Link](B, nfilasB, ncolumnasB);
[Link]("Intercambiando maximos y minimos");
[Link](A, nfilasA, ncolumnasA, B, nfilasB,
ncolumnasB);
[Link]("Mostrando matrices: ");
[Link](A, nfilasA, ncolumnasA);
[Link]("");
[Link](B, nfilasB, ncolumnasB);
}
}
Ejercicio de la tortuga
package pkgTortuga;
import [Link];
public class Tortuga {
//VARIABLES GLOBALES
static Scanner leer=new Scanner([Link]);
static boolean pluma=false;
static char direccion='r';//direccion inicial derecha
static int fila=0,col=0;//posicion de la tortuga
public static void main(String[] args) {
int[][] piso=new int[20][20];
char res;
inicializar(piso);
do {
dibujar(piso);
[Link]("Ingresar otro comando???[s-
n]:");
res=[Link]().charAt(0);
}while(res=='s' || res=='S');
}
private static void dibujar(int[][] piso) {
int cmd,posiciones;
cmd=menu();
switch(cmd) {
case 1:
pluma=false;
break;
case 2:
pluma=true;
break;
case 3:
if(direccion=='r')//si direccion es derecha
direccion='d';//voltea hacia abajo
else if(direccion=='d')//si direccion es abajo
direccion='l';//voltea hacia izquierda
else if(direccion=='l')//si direccion es
izquierda
direccion='u';//voltea hacia arriba
else
direccion='r';//voltea hacia derecha
break;
case 4:
if(direccion=='r')//si direccion es derecha
direccion='u';//voltea hacia arriba
else if(direccion=='u')//si direccion es arriba
direccion='l';//voltea hacia izquierda
else if(direccion=='l')//si direccion es
izquierda
direccion='d';//voltea hacia abajo;
else
direccion='r';//voltea hacia derecha
break;
case 5:
[Link]("Posiciones: ");
posiciones=[Link]();//posiciones que
avanza
if(pluma==false) {
if(direccion=='r')//si direccion es
derecha
col+=posiciones;
else if(direccion=='d')//si direccion
abajo
fila+=posiciones;
else if(direccion=='l')//si direccion
izquie
col-=posiciones;
else
fila-=posiciones;
}
else {//la pluma esta abajo
if(direccion=='r') { //si direccion es
derecha
for(int c=col;c<posiciones;c++)
piso[fila][c]=1;
col+=posiciones;
}
else if(direccion=='d') {//si direccion
abajo
for(int f=fila;f<posiciones;f++)
piso[f][col]=1;
fila+=posiciones;
}
else if(direccion=='l') {//si direccion
izquierda
for(int c=col;c>col-posiciones;c--)
piso[fila][c]=1;
col-=posiciones;
}
else {
for(int f=fila;f>fila-posiciones;f--)
piso[f][col]=1;
fila-=posiciones;
}
}
break;
case 6:
imprimir(piso);
break;
}
}
private static void imprimir(int[][] piso) {
// TODO Auto-generated method stub
for(int f=0;f<[Link];f++) {
for(int c=0;c<piso[0].length;c++)
if(piso[f][c]==0)
[Link](" ");
else
[Link]("* ");
[Link]();
}
}
private static int menu() {
// TODO Auto-generated method stub
int c;
[Link]("[1] Pluma Arriba");
[Link]("[2] Pluma Abajo");
[Link]("[3] Voltea Derecha");
[Link]("[4] Voltea Izquierda");
[Link]("[5] Avanzar");
[Link]("[6] Imprimir");
[Link]("[9] Fin");
[Link]("Elija un comando: ");
c=[Link]();
return c;
}
private static void inicializar(int[][] piso) {
// TODO Auto-generated method stub
//Inicializar la matriz con ceros(0)
for(int f=0;f<[Link];f++)
for(int c=0;c<piso[0].length;c++)
piso[f][c]=0;
}
}
Ejercicio de tres en raya
import [Link];
public class Treas_enraya {
static Scanner leer=new Scanner([Link]);
public static void main(String[] args) {
// TODO Auto-generated method stub
int turno=1, fila, columna;
char[][] tablero=new char[3][3];
inciotablero(tablero);
while(turno<10) {
if(turno%2!=0) {
[Link]("Jugando jugador 1: ");
[Link]("Indicar fila: ");
fila=[Link]();
[Link]("Indicar columna: ");
columna=[Link]();
if(En_el_juego(tablero, fila,columna, 'X'))
turno++;
ImprimirTabla(tablero);
if(Validar(tablero))
break;
}
else {
[Link]("Jugando jugador 2: ");
[Link]("Indicar fila: ");
fila=[Link]();
[Link]("Indicar columna: ");
columna=[Link]();
if(En_el_juego(tablero, fila,columna, 'O'))
turno++;
ImprimirTabla(tablero);
if(Validar(tablero))
break;
}
}
private static boolean Validar(char[][] tablero) {
// TODO Auto-generated method stub
for (int i = 0; i < [Link]; i++)
if(tablero[i][0]==tablero[i][1]&&tablero[i][0]==tablero[i][2]) {
if(tablero[i][0]=='X') {
[Link]("A ganado el jugador 1
");
return true;
}
else if(tablero[i][0]=='O') {
[Link]("A ganado el jugador 2
");
return true;
}
return false;
}
for (int i = 0; i < [Link]; i++)
if(tablero[0][i]==tablero[1][i]&&tablero[0][i]==tablero[2][i]) {
if(tablero[0][i]=='X') {
[Link]("A ganado el jugador 1
");
return true;
}
else if(tablero[i][0]=='O') {
[Link]("A ganado el jugador 2
");
return true;
}
return false;
}
if(tablero[0][0]=='X' &&
tablero[1][1]=='X'&&tablero[2][2]=='X') {
[Link]("Gana el jugador 1 ");
return true;
}
else if(tablero[0][0]=='O' &&
tablero[1][1]=='O'&&tablero[2][2]=='O') {
[Link]("Gana el jugador 2 ");
return true;
}
if(tablero[0][2]=='X' &&
tablero[1][1]=='X'&&tablero[2][0]=='X') {
[Link]("Gana el jugador 1 ");
return true;
}
else if(tablero[0][2]=='O' &&
tablero[1][1]=='O'&&tablero[2][0]=='O') {
[Link]("Gana el jugador 2 ");
return true;
}
return false;
}
private static void ImprimirTabla(char[][] tablero) {
// TODO Auto-generated method stub
for (int i = 0; i < [Link]; i++) {
[Link](" " );
for (int j = 0; j < [Link]; j++) {
[Link](tablero[i][j]+" | ");
}
[Link]("");
private static boolean En_el_juego(char[][] tablero, int fila,
int columna, char c) {
// TODO Auto-generated method stub
if(tablero[fila][columna]==' ') {
tablero[fila][columna]=c;
return true;
}
else {
[Link]("Posicion ocupada, por favor
ingresar otra posicion");
}
return false;
}
private static void inciotablero(char[][] tablero) {
// TODO Auto-generated method stub
for (int i = 0; i < [Link]; i++) {
for (int j = 0; j < [Link]; j++) {
tablero[i][j]=' ';
}
Ejercicio del cubo:
package pjkArreglos;
import [Link];
public class Ejercicio13 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner leer=new Scanner([Link]);
int orden;
do {[Link]("Ingrese Orden Impar de matriz ");
orden=[Link]();//Se valida con do while
}while(orden%2==0);//validar el ingreso de un numero
int[][] m=new int[orden][orden];//crear matriz
int fila, columna,numero;
fila=0;
columna=orden/2;//posicion inicial
numero=1;//Ingresar numero incial a registrar en el cuadrado
for(int i=0;i<orden*orden;i++) {
m[fila][columna]=numero;
//nueva posicion: arriba y a la derecha
fila--;
if(fila==-1)
fila=orden-1;
columna++;
if(columna==orden)
columna=0;
numero++;
if(m[fila][columna]!=0) {
fila+=2;
if(fila>=orden)
fila=fila-orden;
columna--;
if(columna==-1)
columna=orden-1;
mostrarMatriz(m);
private static void mostrarMatriz(int[][] m) {
// TODO Auto-generated method stub
for(int f=0;f<[Link];f++) {
for(int c=0;c<[Link];c++) {
[Link](m[f][c]+" ");
[Link](" ");