You are on page 1of 19

Lenguajes de Programación II - CESTUNT

EJEMPLOS DE VECTORES Y MATRIZ MEDIANTE MODULOS

VECTORES
1. Dado el vector T de tamaño n. Si el tamaño es par, invertir los elementos de la mitad de
los elementos. Ejemplo: v=[1][2][3][4][5][6] v(invertido)=[3][2][1][6][5][4]

Código:

class JavaVectores1
{
void llenar (int V [], int d)
{
for (int i = 1 ; i <= d ; i++)
{
System.out.print ("Inserte pos.[" + i + "]: ");
V [i] = Leer.datoInt ();
}
}

void mostrar (int V [], int d)


{
for (int i = 1 ; i <= d ; i++)
{
System.out.print ("[" + V [i] + "]");
}
}

void invierte (int V [], int d)


{
int aux1;
int fin1 = d / 2;
for (int i = 1 ; i <= (d / 2) / 2 ; i++)
{
aux1 = V [i];
V [i] = V [fin1];
V [fin1] = aux1;
fin1--;
}

fin1 = d;

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

for (int j = (d / 2) + 1 ; j <= (d / 2) + 1 ; j++)


{
aux1 = V [j];
V [j] = V [fin1];
V [fin1] = aux1;
fin1--;
}
}

public static void main (String args [])


{
JavaVectores1 h = new JavaVectores1 ();
int V [] = new int [20];
System.out.print ("Inserte dimen. del vector: ");
int d = Leer.datoInt ();
h.llenar (V, d);
System.out.println ("\nVECTOR ORIGINAL: ");
h.mostrar (V, d);
System.out.println ("\nVECTOR LUEGO DE LA INVERSION: ");
h.invierte (V, d);
h.mostrar (V, d);
}
}

2. Dado un polinomio evaluarlo en el punto x (todo en un vector)

Código:

class JavaVectores2
{
void llenar (int V [], int d)
{
for (int i = 1 ; i <= d ; i++)
{
System.out.print ("Inserte pos.[" + i + "]: ");
V [i] = Leer.datoInt ();
}
}

void mostrar (int V [], int d)


{
for (int i = 1 ; i <= d ; i++)
{
System.out.print ("[" + V [i] + "]");

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

}
}

int potencia (int b, int e)


{
int p = 1;
for (int i = 1 ; i <= e ; i++)
{
p = p * b;
}
return (p);
}

void evalua (int V [], int d, int x)


{
int s = 0;
for (int i = 1 ; i <= d ; i += 2)
{
s = s + (V [i] * potencia (x, V [i + 1]));
}
System.out.println ("\n\nX es igual a: " + s);
}

public static void main (String args [])


{
JavaVectores2 h = new JavaVectores2 ();
int V [] = new int [20];
System.out.print ("Inserte dimen. del vector: ");
int d = Leer.datoInt ();
System.out.print ("Inserte valor de (x): ");
int x = Leer.datoInt ();
h.llenar (V, d);
System.out.println ("\nVECTOR: ");
h.mostrar (V, d);
h.evalua (V, d, x);
}
}

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

>> MATRICES <<

3. Dadas dos matrices A y B intercambiar los mínimos de A con los máximos de B

Código:

class JavaMatrices1
{
void llenar (int M [] [], int f, int c)
{
for (int i = 1 ; i <= f ; i++)
{
for (int j = 1 ; j <= c ; j++)
{
System.out.print ("Inserte pos[" + i + "][" + j + "]: ");
M [i] [j] = Leer.datoInt ();
}
}
}

void mostrar (int M [] [], int f, int c)


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

int menor (int M [] [], int f, int c)


{
int men = M [1] [1];
for (int i = 1 ; i <= f ; i++)
{
for (int j = 1 ; j <= c ; j++)
{
if (M [i] [j] < men)
men = M [i] [j];

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

}
}
return (men);
}

int maximo (int M [] [], int f, int c)


{
int max = M [1] [1];
for (int i = 1 ; i <= f ; i++)
{
for (int j = 1 ; j <= c ; j++)
{
if (M [i] [j] < max)
max = M [i] [j];
}
}
return (max);
}

void intercambiar (int A [] [], int fa, int ca, int B [] [], int fb, int cb)
{
int min_a = menor (A, fa, ca);
int max_b = maximo (B, fb, cb);

//para cambiar los minimos de A con los maximos de B


for (int i = 1 ; i <= fa ; i++)
{
for (int j = 1 ; j <= ca ; j++)
{
if (A [i] [j] == min_a)
A [i] [j] = max_b;
}
}

//para intercambiar los maximos de con los minimos de A


for (int i = 1 ; i <= fb ; i++)
{
for (int j = 1 ; j <= cb ; j++)
{
if (B [i] [j] == max_b)
B [i] [j] = min_a;

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

}
}
}

public static void main (String args [])


{
JavaMatrices1 h = new JavaMatrices1 ();
int A [] [] = new int [20] [20];
int B [] [] = new int [20] [20];
System.out.print ("Insert filas de A: ");
int fa = Leer.datoInt ();
System.out.print ("Insert columnas de A: ");
int ca = Leer.datoInt ();
System.out.print ("Insert filas de B: ");
int fb = Leer.datoInt ();
System.out.print ("Insert columnas de B: ");
int cb = Leer.datoInt ();

//lectura de matrices
System.out.println ("\nINSERTANDO DATOS EN MATRIS A: \n");
h.llenar (A, fa, ca);
System.out.println ("\nINSERTANDO DATOS EN MATRIS B: \n");
h.llenar (B, fb, cb);
System.out.println ("\nMATRICES ORIGINALMENTE INSERTADAS: ");
h.mostrar (A, fa, ca);
System.out.println ();
h.mostrar (B, fb, cb);
System.out.println ();

//intercambiando elementos
h.intercambiar (A, fa, ca, B, fb, cb);
System.out.println ("\nMATRICES DESPUES DEL INTERCAMBIO:");
h.mostrar (A, fa, ca);
System.out.println ();
h.mostrar (B, fb, cb);
}
}

4. Dada una matriz cuadrada invertir su diagonal principal

Código:

class JavaMatrices2
{

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

void llenar (int M [] [], int d)


{
for (int i = 1 ; i <= d ; i++)
{
for (int j = 1 ; j <= d ; j++)
{
System.out.print ("Inserte pos[" + i + "][" + j + "]: ");
M [i] [j] = Leer.datoInt ();
}
}
}

void mostrar (int M [] [], int d)


{
for (int i = 1 ; i <= d ; i++)
{
System.out.println ();
for (int j = 1 ; j <= d ; j++)
{
System.out.print ("[" + M [i] [j] + "]");
}
}
}

void invierte (int M [] [], int d)


{
int fin = d;
for (int i = 1 ; i <= d / 2 ; i++)
{
int aux = M [i] [i];
M [i] [i] = M [d] [d];
M [d] [d] = aux;
fin--;
}
}

public static void main (String args [])


{
JavaMatrices2 h = new JavaMatrices2 ();
int M [] [] = new int [20] [20];

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

System.out.print ("Inserte dimen. de la matriz cuadrada: ");


int d = Leer.datoInt ();
h.llenar (M, d);
System.out.print ("\nMATRIZ ORIGINAL: ");
h.mostrar (M, d);
System.out.print ("\n\nMATRIZ CON LA DIAGONAL PRINCIPAL INVERTIDA: ");
h.invierte (M, d);
h.mostrar (M, d);
}
}

5. Dada una matriz cuadrada invertir su diagonal secundaria

Código:

class JavaMatrices3
{
void llenar (int M [] [], int d)
{
for (int i = 1 ; i <= d ; i++)
{
for (int j = 1 ; j <= d ; j++)
{
System.out.print ("Inserte pos[" + i + "][" + j + "]: ");
M [i] [j] = Leer.datoInt ();
}
}
}

void mostrar (int M [] [], int d)


{
for (int i = 1 ; i <= d ; i++)
{
System.out.println ();
for (int j = 1 ; j <= d ; j++)
{
System.out.print ("[" + M [i] [j] + "]");
}
}
}

void invierte (int M [] [], int d)


{

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

int fin = d;
for (int i = 1 ; i <= d / 2 ; i++)
{
int aux = M [i] [d];
M [i] [d] = M [d] [i];
M [d] [i] = aux;
fin--;
}
}

public static void main (String args [])


{
JavaMatrices3 h = new JavaMatrices3 ();
int M [] [] = new int [20] [20];
System.out.print ("Inserte dimension de la matriz cuadrada: ");
int d = Leer.datoInt ();
h.llenar (M, d);
System.out.print ("\nMATRIZ ORIGINAL: ");
h.mostrar (M, d);
System.out.print ("\n\nMATRIZ CON LA DIAGONAL SECUNDARIA INVERTIDA: ");
h.invierte (M, d);
h.mostrar (M, d);
}
}

6. Dada dos matrices de diferentes tamaños R y S mostrar los elementos comunes de R en S

Código:

class JavaMatrices4
{
void llenar (int M [] [], int f, int c)
{
for (int i = 1 ; i <= f ; i++)
{
for (int j = 1 ; j <= c ; j++)
{
System.out.print ("Inserte pos[" + i + "][" + j + "]: ");
M [i] [j] = Leer.datoInt ();
}
}
}

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

void mostrar (int M [] [], int f, int c)


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

void comunes (int R [] [], int fr, int cr, int S [] [], int fs, int cs)
{
System.out.print ("\n\nLos elementos comunes de R en S son: ");
for (int i = 1 ; i <= fr ; i++)
{
for (int j = 1 ; j <= cr ; j++)
{
for (int k = 1 ; k <= fs ; k++)
{
for (int l = 1 ; l <= cs ; l++)
{
if (R [i] [j] == S [k] [l])
System.out.print ("[" + R [i] [j] + "]");
}
}
}
}
}

public static void main (String args [])


{
JavaMatrices4 h = new JavaMatrices4 ();
int R [] [] = new int [20] [20];
int S [] [] = new int [20] [20];
System.out.print ("Inserte filas de R: ");
int fr = Leer.datoInt ();
System.out.print ("Inserte columnas de R: ");
int cr = Leer.datoInt ();
System.out.print ("Inserte filas de S: ");

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

int fs = Leer.datoInt ();


System.out.print ("Inserte columnas de S: ");
int cs = Leer.datoInt ();

System.out.print ("\nLLENANDO MATRIS R: \n");


h.llenar (R, fr, cr);
System.out.print ("\nLLENANDO MATRIS S: \n");
h.llenar (S, fs, cs);
System.out.print ("\nLA MATRICES R : ");
h.mostrar (R, fr, cr);
System.out.print ("\nLA MATRICES S : ");
h.mostrar (S, fs, cs);
h.comunes (R, fr, cr, S, fs, cs);
}
}

7. Dada una matriz intercambiar los elementos de la primera columna con la última columna

Código:

class JavaMatrices5
{
void llenar (int M [] [], int f, int c)
{
for (int i = 1 ; i <= f ; i++)
{
for (int j = 1 ; j <= c ; j++)
{
System.out.print ("Inserte pos[" + i + "][" + j + "]: ");
M [i] [j] = Leer.datoInt ();
}
}
}

void mostrar (int M [] [], int f, int c)


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

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

void intercambiar (int M [] [], int f, int c)


{
for (int i = 1 ; i <= f ; i++)
{
int aux = M [i] [1];
M [i] [1] = M [i] [c];
M [i] [c] = aux;
}
}

public static void main (String args [])


{
JavaMatrices5 h = new JavaMatrices5 ();
int M [] [] = new int [20] [20];
System.out.print ("Inserte filas de la matris: ");
int f = Leer.datoInt ();
System.out.print ("Inserte columnas de la matris: ");
int c = Leer.datoInt ();

System.out.print ("\nLLENANDO MATRIS : \n");


h.llenar (M, f, c);
System.out.print ("\nLA MATRIS ORIGINAL : ");
h.mostrar (M, f, c);
System.out.print ("\n\nLA MATRICES INTERCAMBIADA : ");
h.intercambiar (M, f, c);
h.mostrar (M, f, c);
}
}

8. Contar el número de dígitos de cada elemento de una matriz

Código:

class JavaMatrices6
{
void llenar (int M [] [], int f, int c)
{
for (int i = 1 ; i <= f ; i++)
{
for (int j = 1 ; j <= c ; j++)
{

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

System.out.print ("Inserte pos[" + i + "][" + j + "]: ");


M [i] [j] = Leer.datoInt ();
}
}
}

void mostrar (int M [] [], int f, int c)


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

void cuenta (int M [] [], int f, int c)


{
for (int i = 1 ; i <= f ; i++)
{
for (int j = 1 ; j <= c ; j++)
{
System.out.print ("\n[" + M [i] [j] + "] tiene: " + digitos (M [i] [j]) + " digito(s)");
}
}
}

int digitos (int n)


{
int contador = 0;
while (n != 0)
{
n = n / 10;
contador++;
}
return (contador);
}

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

public static void main (String args [])


{
JavaMatrices6 h = new JavaMatrices6 ();
int M [] [] = new int [20] [20];
System.out.print ("Inserte filas de la matris: ");
int f = Leer.datoInt ();
System.out.print ("Inserte columnas de la matris: ");
int c = Leer.datoInt ();

System.out.print ("\nLLENANDO MATRIS M: \n");


h.llenar (M, f, c);
System.out.print ("\nLA MATRIS: ");
h.mostrar (M, f, c);
System.out.print ("\n\nCONTEO DE DIGITOS: ");
h.cuenta (M, f, c);
}
}

>> MATRICES Y VECTORES<<

9. Dada la matriz de m*n y el vector de tamaño n, determinar que columna de la matriz


es igual al vector

Código:

class JavaMatrisVector2
{
void llenarMatris (int M [] [], int f, int c)
{
for (int i = 1 ; i <= f ; i++)
{
for (int j = 1 ; j <= c ; j++)
{
System.out.print ("Inserte pos[" + i + "][" + j + "]: ");
M [i] [j] = Leer.datoInt ();
}
}
}

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

void mostrarMatris (int M [] [], int f, int c)


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

void llenarVector (int V [], int d)


{
for (int i = 1 ; i <= d ; i++)
{
System.out.print ("Inserte pos.[" + i + "]: ");
V [i] = Leer.datoInt ();
}
}

void mostrarVector (int V [], int d)


{
for (int i = 1 ; i <= d ; i++)
{
System.out.print ("[" + V [i] + "]");
}
}

void procedure (int M [] [], int f, int c, int V [], int d)


{
for (int i = 1 ; i <= f ; i++)
{
int sw = 1;
for (int j = 1 ; j <= c ; j++)
{

for (int k = 1 ; k <= d ; k++)


{
if (M [j] [i] != V [k])
sw = 0;

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

}
}
if (sw == 1)
System.out.println ("\n\nLa columna " + i + " es igual al vector");
}
}

public static void main (String args [])


{
JavaMatrisVector2 h = new JavaMatrisVector2 ();
int M [] [] = new int [20] [20];
int V [] = new int [20];
System.out.print ("Inserte filas de la matris: ");
int f = Leer.datoInt ();
System.out.print ("Inserte dimension del vector: ");
int d = Leer.datoInt ();

System.out.print ("\nLLENANDO MATRIS: \n");


h.llenarMatris (M, f, d);
System.out.print ("\nLLENANDO EL VECTOR: \n");
h.llenarVector (V, d);

System.out.print ("\nLA MATRIS: ");


h.mostrarMatris (M, f, d);
System.out.print ("\n\nEL VECTOR: \n");
h.mostrarVector (V, d);

h.procedure (M, f, d, V, d);


}
}

10. Dada una matriz Z almacenar en un vector A la suma por sus columnas
y en un vector B la suma por sus filas

Código:

class JavaMatrisVector3
{
void llenarMatris (int M [] [], int f, int c)
{
for (int i = 1 ; i <= f ; i++)
{
for (int j = 1 ; j <= c ; j++)

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

{
System.out.print ("Inserte pos[" + i + "][" + j + "]: ");
M [i] [j] = Leer.datoInt ();
}
}
}

void mostrarMatris (int M [] [], int f, int c)


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

void mostrarVector (int V [], int d)


{
for (int i = 1 ; i <= d ; i++)
{
System.out.print ("[" + V [i] + "]");
}
}

void vectorA (int M [] [], int f, int c, int A [], int d)


{
for (int i = 1 ; i <= f ; i++)
{
int suma = 0;
for (int j = 1 ; j <= c ; j++)
{
suma = suma + M [j] [i];
}
A [i] = suma;
}
}

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

void vectorB (int M [] [], int f, int c, int B [], int d)


{
for (int i = 1 ; i <= f ; i++)
{
int suma = 0;
for (int j = 1 ; j <= c ; j++)
{
suma = suma + M [i] [j];
}
B [i] = suma;
}
}

public static void main (String args [])


{
JavaMatrisVector3 h = new JavaMatrisVector3 ();
int Z [] [] = new int [20] [20];
int A [] = new int [20];
int B [] = new int [20];
System.out.print ("Inserte filas de la matris: ");
int f = Leer.datoInt ();
System.out.print ("Inserte columnas de la matris: ");
int c = Leer.datoInt ();

System.out.print ("\nLLENANDO MATRIS: \n");


h.llenarMatris (Z, f, c);

System.out.print ("\nLA MATRIZ Z: ");


h.mostrarMatris (Z, f, c);

System.out.println ("\n\nSUMA POR COLUMNAS DE LA MATRIS (vector A): ");


h.vectorA (Z, f, c, A, c);
h.mostrarVector (A, c);
System.out.println ("\n\nSUMA POR FILAS DE LA MATRIS (vector B): ");
h.vectorB (Z, f, c, B, f);
h.mostrarVector (B, f);
}
}

Docente: Prof. Arturo Díaz Pulido


Lenguajes de Programación II - CESTUNT

PROPUESTOS:
1. Crear un vector entero en donde almacene 10 número e imprimir dicho números.

2. Crear un vector de tipo cadena que almacene 10 elementos e imprimir la palabra java seguido
del número de elemento.

3. Crear una aplicación que imprima la siguiente matriz.


11 12 13 14 15
21 22 23 24 25
31 32 33 34 35

4. Crear la siguiente matriz unidad, como se muestra la gráfica


1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 1.0 0.0
0.0 0.0 0.0 1.0

5. Crear una aplicación para buscar un número en una matriz, e imprimir la ubicación de dicho
número.

6. Crear una aplicación que busque el número más grande del array y (a posición que ocupa.

7. Crear un vector para cargar 5 números, e imprimir el mayor, menor, medio y la lista ordenada
de menor a mayor

8. Crear dos vectores un par y otro impar, dentro de cada vector debe contener 5 números,
imprimir cada vector con su respectiva

Docente: Prof. Arturo Díaz Pulido

You might also like