Está en la página 1de 55

EXAMEN FINAL

VECTOR
1. Rellenar un vector P con los primeros N números pares
N=5

V= 0 2 4 6 8
0 1 2 3 4

rellenarPar(V[], N)
N Num i
Num=3 5 0 0
2 1
4 2
i = 0, N-1, 1 6 3
8 4
V[i] = Num 10
Num = Num + 3

return

leerDato() inicio

n
leerDato()

V = array[0..n] of integer

fin
rellenaPar(V[], n)

mostrarVec(V[], n)

return
import java.util.Scanner;

public class RellenarPares {


Scanner lee = new Scanner(System.in);
void mostrarVec(int V[], int n) {
int i;
for (i = 0; i <= n - 1; i++) {
System.out.print(V[i] + " ");
}
}

void rellenaPar(int V[], int N)


{
int i,num;
num=0;
for (i = 0; i< N; i++) {
V[i]=num;
num=num+2;
}
}
void leerDatos() {
int n;
int V[];
System.out.print("Integre tamaño del vector :");
n=lee.nextInt();
V = new int[n];
rellenaPar(V, n);
mostrarVec(V, n);

public static void main(String arg[]) {


RellenarPares vec = new RellenarPares();
vec.leerDatos();
}
}

2. Rellenar un vector V con los primeros N números naturales

N = 10

V= 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9
renellarNaturales(V[], N) Principal() inicio

N Principal()
i = 0, N-1, 1

V = array [0…N] fin


V [i]=(i+1)
renellarNatural(V[]=(,N)

i
mostar(V[]=(,N)

Return(s)
Return

import java.util.Scanner;

public class RellenarNaturalesVector {

Scanner lee = new Scanner(System.in);

void mostrarVec(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
System.out.print(V[i] + " ");
}
}
void rellenarNaturales(int V[], int n) {
int i;
for (i = 0; n < i; i++) {
V[i] = i + 1;
}
}
void leerDatos() {
int n;
int V[];
Vector vec = new Vector();
System.out.println("Ingrese tamaño vector");
n = lee.nextInt();
V = new int[n];
rellenarNaturales(V, n);
System.out.println("nMostrando Vector");
vec.mostrar(V, n);
}

public static void main(String arg[]) {


RellenarNaturalesVector vec = new RellenarNaturalesVector();
vec.leerDatos();
}
}
3. Llenar el vector A, con los primeros N números de Fibonacci
N=5

V= 0 1 1 2 3
0 1 2 3 4

1 serieFibonaci(V[], N) leerDato() inicio

A=-1 n
leerDato()
B=1

V = array[0..n] of integer
fin
i = 0, N-1, 1
serieFibonaci(V[],
n)
C=A+B
V[i] = C
mostrarVec(V[], n)
A=B
B=C
return

return

import java.util.Scanner;

public class RellenaSerieFibonaci {


Scanner lee = new Scanner(System.in);
void mostrarVec(int V[], int n) {
int i;
for (i = 0; i <= n - 1; i++) {
System.out.print(V[i] + " ");
}
}

void rellenaFibonaci(int V[], int N)


{
int i,A,B,C;
A=-1;
B=1;
for (i = 0; i< N; i++) {
C=A+B;
V[i]=C;
A=B;
B=C;
}
}
void leerDatos() {
int n;
int V[];
System.out.print("Integre tamaño del vector :");
n=lee.nextInt();
V = new int[n];
rellenaFibonaci(V, n);
mostrarVec(V, n);

public static void main(String arg[]) {


RellenaSerieFibonaci vec = new RellenaSerieFibonaci();
vec.leerDatos();
}
}

4. Contar el número de elementos negativos(en la variable cont1), ceros(en la variable cont2)


y positivos (en la variable cont3), de un vector de N posiciones

N=8

V= 5 0 -1 3 2 12 0 -4
0 1 2 3 4 5 6 7
Cont1= 2

Cont2 = 2

Cont3= 4

LeerVec(V[ ] , n)

i = 0, n-1, 1

V[ i ]

Return
mostrarVec(V[ ] , n)

ContaParNegCero(V[],N)
i = 0, n-1, 1

inicio
Cont1 = 0 V[i]
Cont=2
Cont3=0 leerDato()

Return
i = 0, n-1, 1 fin

f v
V[i] >0

Cont1=Cont1+1 leerDato()

f v
n
V[i] =0

Cont2=Cont2+1
V = array[0..n] of integer

f v
leerVec(V[], n)
V[i] <0

Cont3=Cont3+1
mostrarVec(V[], n)

ContaParNegCero(V[],N)

Cont1,Cont,
Comt3 return

return
import java.util.Scanner;

public class CuentaPosNegCeros {


Scanner lee = new Scanner(System.in);

void leeVec(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
System.out.print("Datos V[" + i + "]=");
V[i] = lee.nextInt();
}
}

void mostrarVec(int V[], int n) {


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

void cuentaPosNegCer(int V[], int N)


{
int cont1,cont2,cont3,i;
cont1=0;
cont2=0;
cont3=0;
for(i=0;i<N;i++)
{
if(V[i]>0)
cont1=cont1+1;
if(V[i]==0)
cont2=cont2+1;
if(V[i]<0)
cont3=cont3+1;
}
System.out.println("");
System.out.println("Total Positivos="+cont1);
System.out.println("Total Ceros="+cont2);
System.out.println("Total Negativos="+cont3);
}

void leerDatos() {
int n,s;
int V[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
V = new int[n];
leeVec(V, n);
mostrarVec(V, n);
cuentaPosNegCer(V,n);
}
public static void main(String arg[]) {
CuentaPosNegCeros vec = new CuentaPosNegCeros();
vec.leerDatos();
}
}
5. Sumar los números pares de un vector de N elementos

N=8
V= 4 2 3 7 0 1 5 2
0 1 2 3 4 5 6 7

S=4+2+2 =8
SumarPares(V[],N) leerDato() inicio

n
S=0 leerDato()

V = array[0..n] of integer
i = 0, n-1, 1 fin
leerVec(V[], n)
f v
V[i] mod 2=0 mostrarVec(V[], n)

S=S+V[i] SumaPares(V[],N)

return

return
import java.util.Scanner;

public class SumaParesVector {


Scanner lee = new Scanner(System.in);

void leeVec(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
System.out.print("Datos V[" + i + "]=");
V[i] = lee.nextInt();
}
}

void mostrarVec(int V[], int n) {


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

void sumapares(int V[], int N)


{
int s,i;
s=0;
for(i=0;i<N;i++)
{
if(V[i]%2==0)
s=s+V[i];

}
System.out.println("");
System.out.println("Total suma="+s);

void leerDatos() {
int n,s;
int V[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
V = new int[n];
leeVec(V, n);
mostrarVec(V, n);
sumapares(V,n);

public static void main(String arg[]) {


SumaParesVector vec = new SumaParesVector();
vec.leerDatos();
}
}
6. Calcular la media aritmética de los elementos de un vector de N
posiciones
N=5
V= 4 2 3 7 0
0 1 2 3 4
S= 4+2+3+7+0 = 16
P= S / N => 16/5 = 3.2

Promedio(V[] , n)

S=0

i = 0, n-1, 1

S = S + V[i]

P= S/n

Return (P)

leerDato() inicio

n
leerDato()

V = array[0..n] of integer

fin
LeerVec(V[], n)

mostrarVec(V[], n)

P=promedio(V[] , n)

return
import java.util.Scanner;

public class PronedoVector {


Scanner lee = new Scanner(System.in);

void leeVec(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
System.out.print("Datos V[" + i + "]=");
V[i] = lee.nextInt();
}
}

void mostrarVec(int V[], int n) {


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

double promedio(int V[], int n) {


int s, i;
double p;
s = 0;
for (i = 0; i <= n - 1; i++) {
s = s + V[i];
}
p=(double)s/n;
return (p);
}

void leerDatos() {
int n;
double p;
int V[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
V = new int[n];
leeVec(V, n);
mostrarVec(V, n);
p=promedio(V,n);
System.out.println("El promedio es:"+p);
}

public static void main(String arg[]) {


PronedoVector vec = new PronedoVector();
vec.leerDatos();
}
}
7. Llenar el vector de N posiciones con la siguiente serie:
0, 3, 8, 15, 24, 35, …., N2-1

N=5
V= 0 3 8 15 24
0 1 2 3 4
12-1 22-1 32-1 42-1 52-1

gerera(V[] , n)

i = 0, n-1, 1

S = S + (i+1)*(i+1) - 1

return

leerDato() inicio

n
leerDato()

V = array[0..n] of integer
fin
genera(V[], n)

mostrarVec(V[], n)

return
import java.util.Scanner;

public class GeneraVector19 {


Scanner lee = new Scanner(System.in);

void mostrarVec(int V[], int n) {


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

void genera(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
V[i]=(i+1)*(i+1)-1;
}
}

void leerDatos() {
int n;
double p;
int V[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
V = new int[n];
genera(V, n);
mostrarVec(V, n);

public static void main(String arg[]) {


GeneraVector19 vec = new GeneraVector19();
vec.leerDatos();
}
}
8. Multiplicar todos los elementos de un vector V de dimensión N, en una
variable prodV

N=5
V= 2 5 7 8 1
0 1 2 3 4
prodV = 2*5*7*8*1 = 560
prodV = 1

prodV = prodV * V[i]

multiplicar(V[] , n) leerDato() inicio

Prodv=1
n
leerDato()
i = 0, n-1, 1
V = array[0..n] of integer
fin
Prodv = Prodv * V[ i ]
leerVec(V[], n)

mostrarVec(V[], n)

Return Prodv
P=multiplicar(V[], n)

return
import java.util.Scanner;

public class MultipplicaVector {


Scanner lee = new Scanner(System.in);

void leeVec(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
System.out.print("Datos V[" + i + "]=");
V[i] = lee.nextInt();
}
}

void mostrarVec(int V[], int n) {


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

int multiplicar(int V[], int n) {


int prodv, i;
prodv = 1;
for (i = 0; i <= n - 1; i++) {
prodv= prodv * V[i];
}
return (prodv);
}

void leerDatos() {
int n,p;
int V[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
V = new int[n];
leeVec(V, n);
mostrarVec(V, n);
p=multiplicar(V,n);
System.out.println("La multiplicacion es:"+p);
}

public static void main(String arg[]) {


MultipplicaVector vec = new MultipplicaVector();
vec.leerDatos();
}
}
9. Llenar un vector V de N posiciones, con la siguiente serie: 3, 3 2, 33, 34, ….,
3N
N=5
31, 32, 33, 34, 35

V= 3 9 27 81 243
0 1 2 3 4

Potencia(X,Y) Potencia(X,Y) Genera(V[] , n)

P=1 P=1
i = 0, N-1, 1

i = 1, Y, 1
i = 1, Y, 1
P=Potencia(3,i+1)

P=P*X P=P*X
V[i] = P

Return (P) Return (P) return

inicio
leerDato()

n leerDato() inicio
leerDato()

V = array[0..n] of integer
n
fin leerDato()
genera(V[], n)
V = array[0..n] of integer

mostrarVec(V[], n) fin
genera(V[], n)

return
mostrarVec(V[], n)

return
import java.util.Scanner;

public class GeneraVector20 {


Scanner lee = new Scanner(System.in);

void mostrarVec(int V[], int n) {


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

int potencia(int X, int Y)


{
int p=1;
for (int i = 1; i <= Y; i++) {
p=p*X;
}
return p;
}

void genera(int V[], int n)


{
int i,p;
for (i = 0; i<=n-1; i++) {
p=potencia(3,i+1);
V[i]=p;
}
}
void leerDatos() {
int n,p;
int V[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
V = new int[n];
genera(V,n);
mostrarVec(V, n);
}
public static void main(String arg[]) {
GeneraVector20 vec = new GeneraVector20();
vec.leerDatos();
}

}
10. Generar el siguiente vector de N componentes
1,0,1,0,1,0,1,0, ….,

N=5

V= 1 0 1 0 1
0 1 2 3 4

Genera01(V[] , n)

i = 0, N-1, 1

f v
i mod 2=0

V[i] = 0 V[i] = 1

return

leerDato() inicio

n
leerDato()

V = array[0..n] of integer
fin
genera(V[], n)

mostrarVec(V[], n)

return
import java.util.Scanner;

public class GeneraVector23 {


Scanner lee = new Scanner(System.in);

void mostrarVec(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
System.out.print(V[i] + " ");
}
}
void genera(int V[], int n)
{
int i,p;
for (i = 0; i<=n-1; i++) {
if(i%2==0)
V[i]=1;
else
V[i]=0;
}
}
void leerDatos() {
int n,p;
int V[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
V = new int[n];
genera(V,n);
mostrarVec(V, n);
}
public static void main(String arg[]) {
GeneraVector23 vec = new GeneraVector23();
vec.leerDatos();
}

11. Teniendo dos vectores A y B de N posiciones cada uno, a partir de estos crear otro vector
C que contenga los elementos tanto de A como de B de forma intercalada.
Ejemplo: Si N=4

Vector A:

1 4 9 0
I=0 1 2 3

Vector B:

20 30 40 50
I= 0 1 2 3

Vector C:

1 20 4 30 9 40 0 50

J 0 1 2 3 4 5 6 7
leerDato()
Intercalar(A[],B[],C[],n)

n
J=0

A = array[0..n] of integer
i = 0, n-1, 1 B = array[0..n] of integer
C = array[0..2*n] of integer
C[j] = A[i]
j=j+1
C[j] = B[i] leeVec(A[], n)
j=j+1

leeVec(B[], n)

Return
Intercalar(A[],B[],C[],n)

mostrarVec (A[], n)
inicio

mostrarVec (B[], n)
leerDato()
mostrarVec (C[], n+n)
fin
return
import java.util.Scanner;

public class IntercalarVector {


Scanner lee = new Scanner(System.in);

void leeVec(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
System.out.print("Datos V[" + i + "]=");
V[i] = lee.nextInt();
}
}

void mostrarVec(int V[], int n) {


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

void intercalar(int A[],int B[], int C[],int n)


{
int i,j;
j=0;
for (i = 0; i<n; i++) {
C[j]=A[i];
j++;
C[j]=B[i];
j++;
}
}
void leerDatos() {
int n,p;
int A[],B[],C[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
A = new int[n];
B = new int[n];
C = new int[2*n];
System.out.println("DATOS DEL VECTOR A");
leeVec(A, n);
System.out.println("DATOS DEL VECTOR B");
leeVec(B, n);
intercalar(A,B,C,n);
System.out.println("DATOS DEL VECTOR A");
mostrarVec(A, n);
System.out.println("");
System.out.println("DATOS DEL VECTOR B");
mostrarVec(B, n);
System.out.println("");
System.out.println("DATOS DEL VECTOR C");
mostrarVec(C, 2*n);
}

public static void main(String arg[]) {


IntercalarVector vec = new IntercalarVector();
vec.leerDatos();
}
}
12. Multiplicar un escalar k por un vector A de N posiciones.

Ejemplo: Si K=2 y el vector A con N=4

3 4 10 7
Entonces: k*A

6 8 20 14

prodEscalar(A[],n,k)

i = 0, n-1, 1

A[i ] = k*A[i]

Return

leerDato() inicio

n,k
leerDato()

V = array[0..n] of integer
fin
leevec(V[], n)

mostrarVec(V[], n)

prodEscalar(V[], n,k)

mostrarVec(V[], n)

return
public class MultiplicaEscalar {
Scanner lee = new Scanner(System.in);

void leeVec(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
System.out.print("Datos V[" + i + "]=");
V[i] = lee.nextInt();
}
}

void mostrarVec(int V[], int n) {


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

void prodEscalar(int A[], int n, int k) {


int i;
for (i = 0; i < n; i++) {
A[i] = k*A[i];
}
}

void leerDatos() {
int n,k;
int A[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
A = new int[n];
System.out.println("DATOS DEL VECTOR A");
leeVec(A, n);
System.out.println("DATOS DEL VECTOR A");
mostrarVec(A, n);
System.out.println("Ingrese el k escalar");
k=lee.nextInt();
prodEscalar(A, n,k);
System.out.println("DATOS DEL VECTOR A");
mostrarVec(A, n);

public static void main(String arg[]) {


MultiplicaEscalar vec = new MultiplicaEscalar();
vec.leerDatos();
}

}
13. Dados dos vectores A y B de dimensión N, generar otro vector C = A-B con la resta de los
elementos de los dos vectores.
Ejemplo: Si N=4

Vector A: 2 10 19 70

Vector B: 3 5 10 15
Vector C: -1 5 9 55

C=A–B

Que resta de elementos se lo realiza elemento por elemento

C[0] = A[0] - B[0] => C[0] = 2-3 = -1

C[1] = A[1] - B[1] => C[1] = 10 – 5 = 5

..

C[ i ] = A[ i ] - B[ i ]

leerDato()
restaVec(A[],B[],C[],n)

n
i = 0, n-1, 1
A = array[0..n] of integer
C[i] = A[i] - B[i] B = array[0..n] of integer
C = array[0..n] of integer

leeVec(A[], n)
Return

leeVec(B[], n)

restarVec(A[],B[],C[],n)
inicio

mostrarVec (A[], n)
leerDato()

mostrarVec (B[], n)
fin
mostrarVec (C[], n+n)

return
import java.util.Scanner;

public class IntercalarVector {


Scanner lee = new Scanner(System.in);

void leeVec(int V[], int n) {


int i;
for (i = 0; i <= n - 1; i++) {
System.out.print("Datos V[" + i + "]=");
V[i] = lee.nextInt();
}
}

void mostrarVec(int V[], int n) {


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

void intercalar(int A[],int B[], int C[],int n)


{
int i,j;
j=0;
for (i = 0; i<n; i++) {
C[j]=A[i];
j++;
C[j]=B[i];
j++;
}
}
void leerDatos() {
int n,p;
int A[],B[],C[];
System.out.print("Integre tamaño del vector :");
n = lee.nextInt();
A = new int[n];
B = new int[n];
C = new int[2*n];
System.out.println("DATOS DEL VECTOR A");
leeVec(A, n);
System.out.println("DATOS DEL VECTOR B");
leeVec(B, n);
intercalar(A,B,C,n);
System.out.println("DATOS DEL VECTOR A");
mostrarVec(A, n);
System.out.println("");
System.out.println("DATOS DEL VECTOR B");
mostrarVec(B, n);
System.out.println("");
System.out.println("DATOS DEL VECTOR C");
mostrarVec(C, 2*n);
}

public static void main(String arg[]) {


IntercalarVector vec = new IntercalarVector();
vec.leerDatos();
}
}
MATRICES

1. Generar la siguiente matriz rectangular ANxM, con los siguientes elementos:


Ejemplo. Si N=3x3

2 3 5
7 11 13
17 19 23

verificaPrimo(N) Primos(N)

C=0
CN=1
CP=0
i = 1, N, 1

f v CP<N
N mod i =0

C=C+1
Sw=verificaPrimo(CN)

f v
f v Sw=true
C=2

Sw=false Sw=true CP=CP+1


NP = CN

Return sw CN=CN+1

Return NP
Genera34Primos (M[],f,c) leeDatos( )
inicio
N=1 F,C
Leedatos()
i = 0, f-1, 1
M=array [0.. F-1, 0..C-1]
fin
j = 0, c-1, 1
Genera34Primos (V[],N)

P=primos(N) mostrarMatriz(V[],N)

M[i][j] = P return
N=N+1

return

import java.util.Scanner;

public class Genera34PrimosMatriz {


Scanner lee = new Scanner(System.in);
void leeMatriz(int M[][], int f, int c) {
int i, j;
for (i = 0; i < f; i++) {
for (j = 0; j < c; j++) {
System.out.print("M[" + i + "," + j + "]="); // M[1,2 ]=
M[i][j] = lee.nextInt();
}
}
}

void mostrarMatriz(int M[][], int f, int c) {


int i, j;
for (i = 0; i < f; i++) {
for (j = 0; j < c; j++) {
System.out.print(M[i][j] + "\t"); // M[1,2 ]=
}
System.out.println("");
}
}
boolean verificaPrimos(int N) {
boolean sw;
int i, c;
c = 0;
for (i = 1; i <= N; i++) {
if (N % i == 0) {
c = c + 1;
}
}
if (c == 2) {
sw = true;
} else {
sw = false;
}
return sw;
}

int primos(int N) {
int CN, CP, NP=0;
boolean sw;
CN = 1;
CP = 0;
while (CP < N) {
sw = verificaPrimos(CN);
if (sw == true) {
CP = CP + 1;
NP = CN;
}
CN = CN + 1;
}
return NP;
}
void genera34Mat(int M[][], int f, int c) {
int i, j, N,P;
N = 1;
for (i = 0; i < f; i++) {
for (j = 0; j < c; j++) {
P=primos(N);
M[i][j]=P;
N= N+1;
}
}

void leeDatos() {
int f, c, M[][],s;
System.out.println("Numero de Filas: ");
f = lee.nextInt();
System.out.println("Numero de Columnas:");
c = lee.nextInt();
M = new int[f][c];
genera34Mat(M,f,c);
mostrarMatriz(M, f, c);
}

public static void main(String arg[]) {


Genera34PrimosMatriz mat = new Genera34PrimosMatriz();
mat.leeDatos();

}
}

2. Generar la siguiente matriz rectangular de ANxM


Ejemplo. Si NxM=4x3

1 0 1
(0,0 (0,1) (0,2)
)
0 1 0
(1,0 (1,1) (1,2)
)
1 0 1
(2,0 (2,1) (2,2)
)

Genera39(M[][],f,c

leeDatos( )
i = 0, f-1, 1

F,C
j = 0, c-1, 1

v M=array [0.. F-1, 0..C-1]


f
(i+j) mod 2=0
Genera39Primos (V[],N)

M[ i, j] = 0 M[ i, j] = 1
mostrarMatriz(V[],N)

return

return
import java.util.Scanner;

public class GeneraMatriz39 {

Scanner lee = new Scanner(System.in);

void mostrarMat(int M[][], int f, int c) {


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

void genera39(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
if ((i + j) % 2 == 0) {
M[i][j] = 1;
} else {
M[i][j] = 0;
}
}
}
}
void leeDatos() {
int f, c;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
genera39(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
}

public static void main(String arg[]) {


GeneraMatriz39 mat = new GeneraMatriz39();
mat.leeDatos();
}

3. Generar la siguiente matriz triangular superior de TSNxN


Ejemplo. Si NxM=4x3
1 1 1
(0,0) (0,1) (0,2)
0 1 1
(1,0) (1,1) (1,2)
0 0 1
(2,0) (2,1) (2,2)

Genera40(M[][],f,c

leeDatos( )
i = 0, f-1, 1

F,C
j = i, c-1, 1

M=array [0.. F-1, 0..C-1]

M[ i, j] = 1
Genera40 (M[][],N)

mostrarMatriz(M[][],N)

return
return

import java.util.Scanner;

public class GeneraMatriz40 {


Scanner lee = new Scanner(System.in);

void mostrarMat(int M[][], int f, int c) {


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

void genera40(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = i; j <= c - 1; j++) {
M[i][j]=1;
}
}
}
void leeDatos() {
int f, c;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
genera40(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
}

public static void main(String arg[]) {


GeneraMatriz40 mat = new GeneraMatriz40();
mat.leeDatos();
}

4. Generar la siguiente matriz triangular inferior de TI NxN


Ejemplo. Si NxM=4x3

1 0 0
(0,0) (0,1) (0,2)
1 1
(1,0) (1,1) (1,2)
1 1 1
(2,0) (2,1) (2,2)

Genera41(M[][],f,c

leeDatos( )
i = 0, f-1, 1

F,C
j = 0, i, 1

M=array [0.. F-1, 0..C-1]


M[ i, j] = 1
Genera41 (M[][],N)

mostrarMatriz(M[][],N)

return return
import java.util.Scanner;

public class GeneraMatriz41 {


Scanner lee = new Scanner(System.in);

void mostrarMat(int M[][], int f, int c) {


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

void genera41(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= i; j++) {
M[i][j]=1;
}
}
}
void leeDatos() {
int f, c;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
genera41(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
}

public static void main(String arg[]) {


GeneraMatriz41 mat = new GeneraMatriz41();
mat.leeDatos();
}

void generaX (int M[][], int f, int c) {


int i, j;
for (i = 0; i < f; i++) {
for (j = 0; j < c; j++) {
if((i==j)||(i==(f-(j+1))))
M[i][j]=1;
else
M[i][j]=0;
}
}

5. Generar la siguiente matriz rectangular de ANxM


Ejemplo. Si NxM=4x3

1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4

Genera42(M[][],f,c

leeDatos( )
i = 0, f-1, 1
F,C
j = 0, c-1, 1
M=array [0.. F-1, 0..C-1]

M[ i, j] = (i+1) Genera42 (M[][],N)

mostrarMatriz(M[][],N)

return return

import java.util.Scanner;

public class GeneraMatriz42 {


Scanner lee = new Scanner(System.in);

void mostrarMat(int M[][], int f, int c) {


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

void genera42(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c-1; j++) {
M[i][j]=i+1;
}
}
}
void leeDatos() {
int f, c;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
genera42(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
}

public static void main(String arg[]) {


GeneraMatriz42 mat = new GeneraMatriz42();
mat.leeDatos();
}

6. Generar la siguiente matriz cuadrada X de ANxN


Ejemplo. Si NxN=5x5

1 0 0 0 1
(0,0) (0,4)
0 1 0 1 0 i = f-(j+1)
(1,1) (1,3) 0=5-(0+1) 0=4
0 0 1 0 0
0=5-(1+1) 0=3
(2,2)
0 1 0 1 0 0=5-(2+1) 0=2
(3,1) (3,3) 0=5-(3+1) 0=1
1 0 0 0 1 0=5-(4+1) 0=0
(4,0) (4,4)
Genera43(M[][],f,c

leeDatos( )
i = 0, f-1, 1
F,C
j = 0, c-1, 1
M=array [0.. F-1, 0..C-1]

i=j or i = f-(j+1)
Genera42 (M[][],N)
M[i,j] = 1
mostrarMatriz(M[][],N)

return return

import java.util.Scanner;

public class GeneraMatriz43 {

Scanner lee = new Scanner(System.in);

void mostrarMat(int M[][], int f, int c) {


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

void genera43(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
if (i == j || i==f-(j+1)) {
M[i][j] = 1;
}
}
}
}

void leeDatos() {
int f, c;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
genera43(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
}
public static void main(String arg[]) {
GeneraMatriz43 mat = new GeneraMatriz43();
mat.leeDatos();
}
}

7. Generar la siguiente matriz gusanito rectangular de ANxM

1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
17 18 19 20

Genera44(M[][],f,c

Cont=1

i = 0, f-1, 1

v
f
i mod 2= 0
1
i = c-1, 0 , -1 i = 0, c-1, 1

M[i,j] = cont M[i,j] = cont


Cont = Cont +1 Cont = Cont +1

return
leeDatos( )

F,C

M=array [0.. F-1, 0..C-1]

Genera44 (M[][],N)

mostrarMatriz(M[][],N)

return

import java.util.Scanner;

public class GeneraMatriz44 {

Scanner lee = new Scanner(System.in);

void mostrarMat(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print(M[i][j] + "\t");
}
System.out.println("");
}
}
void genera44(int M[][], int f, int c) {
int i, j, cont;
cont = 1;
for (i = 0; i <= f - 1; i++) {
if (i % 2 == 0) {
for (j = 0; j <= c - 1; j++) {
M[i][j] = cont;
cont = cont + 1;
}
} else {
for (j = c - 1; j >= 0; j--) {
M[i][j] = cont;
cont = cont + 1;
}
}
}
}

void leeDatos() {
int f, c;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
genera44(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
}

public static void main(String arg[]) {


GeneraMatriz44 mat = new GeneraMatriz44();
mat.leeDatos();
}
}

8. Generar la siguiente matriz cuadrada de ANxN


Ejemplo. Si NxN=4x4

0 0 0 2
0 0 4 0
0 6 0 0
8 0 0 0

Genera45(M[][],f,c

i = 0, f-1, 1

i = c-1, 0 , -1

v
f
(i=j) or (i=f-(j+1))

M[i,j] =0 M[i,j] = 1

return
leeDatos( )

F,C

M=array [0.. F-1, 0..C-1]

Genera45 (M[][],N)

mostrarMatriz(M[][],N)

return

import java.util.Scanner;
public class GeneraMatriz45 {
Scanner lee = new Scanner(System.in);
void mostrarMat(int M[][], int f, int c) {
int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print(M[i][j] + "\t");
}
System.out.println("");
}
}
void genera45(int M[][], int f, int c) {
int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
if (i==f-(j+1)) {
M[i][j] = 2*(i+1);
}
}

}
}
void leeDatos() {
int f, c;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
genera45(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
}
public static void main(String arg[]) {
GeneraMatriz45 mat = new GeneraMatriz45();
mat.leeDatos();
}
}

9. Sumar los elementos de la diagonal principal de una matriz cuadrada A NxN


Ejemplo. Si NxN=4x4 la matriz A

1 2 5 4
(0,0)
6 0 2 1
(1,1)
0 10 1 7
(2.2)
1 3 3 4
(3,3)
Entonces la suma de sus elementos:

sumaA= 1+0+1+4 = 6

Suma46(M[][],f,c leeDatos( )

S=0
F,C

i = 0, f-1, 1
M=array [0.. F-1, 0..C-1]
j = 0, c-1, 1
leeMat (M[][],N)

i=j
S=Suma46 (M[][],N)
S=S+M[i,j]
mostrarMatriz(M[][],N)

s
Return (s)

return
import java.util.Scanner;

public class SumaMatrizDiag46 {


Scanner lee = new Scanner(System.in);

void leeMat(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print("M[" + i + "," + j + "]="); //M[1,1]=
M[i][j] = lee.nextInt();
}
}
}

void mostrarMat(int M[][], int f, int c) {


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

int suma46(int M[][], int f, int c) {


int i, j, s;
s = 0;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
if (i == j) {
s = s + M[i][j];
}
}
}
return s;
}
void leeDatos() {
int f, c,s;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
leeMat(M, f, c);
s=suma46(M,f,c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
System.out.println("La suma de la Diagonal es:"+s);
}
public static void main(String arg[]) {
SumaMatrizDiag46 mat = new SumaMatrizDiag46();
mat.leeDatos();
}
}

10. Sumar los elementos de la diagonal secundaria de una matriz cuadrada A Nx


Ejemplo. Si NxN=4x4 la matriz A
1 2 5 4
6 0 2 1
0 10 1 7
1 3 3 4
Entonces la suma de sus elementos:

sumaA= 4+2+10+1 = 17

Suma46(M[][],f,c leeDatos( )

S=0 F,C

i = 0, f-1, 1
M=array [0.. F-1, 0..C-1]

j = 0, c-1, 1
leeMat (M[][],N)

i=f-(j+1) S=Suma46 (M[][],N)


S=S+M[i,j]
mostrarMatriz(M[][],N)

s
Return (s)

return

import java.util.Scanner;

public class SumaMatrizDiagSec47 {

Scanner lee = new Scanner(System.in);

void leeMat(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print("M[" + i + "," + j + "]="); //M[1,1]=
M[i][j] = lee.nextInt();
}
}
}

void mostrarMat(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print(M[i][j] + "\t");
}
System.out.println("");
}
}
int suma47(int M[][], int f, int c) {
int i, j, s;
s = 0;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
if (i == f-(j+1)) {
s = s + M[i][j];
}
}
}
return s;
}
void leeDatos() {
int f, c,s;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
leeMat(M, f, c);
s=suma47(M,f,c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
System.out.println("La suma de la Diagonal secundaria es:"+s);
}
public static void main(String arg[]) {
SumaMatrizDiagSec47 mat = new SumaMatrizDiagSec47();
mat.leeDatos();
}
}

11. Sumar dos matrices ANXN y BNXNde la misma dimensión, en otra matrices CNXN
Ejemplo. Si NxN=4x4 la matriz A
A B

1 2 3 0 1 1 2 3
4 3 1 1 3 5 6 1
+ 0 1 4 2
1 2 0 1
5 6 2 1
8 1 2 4
4x4 4x4
Si NxN=4x4 la matriz C = A+B

Para sumar dos matrices se lo realiza elemento a elemento

2 3 5 3
7 8 7 2
5 7 6 2
9 3 2 5

C[0,0] = A [0,0] + B[0,0]  C[0,0] = 1 + 1 =2

C[0,1] = A [0,1] + B[0,1]  C[0,1] = 2 + 1 =3

Generalizando

C[i,j] = A [i,j] + B[i,j]


leeDato()

sumaMat(A[][], B[][], C[][] , fil,col) Fil,col

A=array[0..fil, 0,col]
i = 0, fil-1, 1
B=array[0..fil, 0,col]
C=array[0..fil, 0,col]
j = 0, col-1, 1
LeeMat(A,fil,col)

C[i,j] = A [i,j] + B[i,j]


LeeMat(B,fil,col)

sumaMat(A,B,C,fil,col)

mostrarMat(A,fil,col)
return

mostrarMat(B,fil,col)

mostrarMat(C,fil,col)

return

import java.util.Scanner;

public class Suma2Matrices {

Scanner lee = new Scanner(System.in);


void leeMat(int M[][], int f, int c) {
int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print("M[" + i + "," + j + "]="); //M[1,1]=
M[i][j] = lee.nextInt();
}
}
}

void mostrarMat(int M[][], int f, int c) {


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

void sumaMat(int A[][], int B[][], int C[][], int fil, int col) {
int i, j;
for (i = 0; i <= fil - 1; i++) {
for (j = 0; j <= col - 1; j++) {
C[i][j] = A[i][j] + B[i][j];
}
}
}

void leeDatos() {
int fil, col;
int A[][],B[][],C[][];
System.out.print("Nro de filas:");
fil = lee.nextInt();
System.out.print("Nro de Columnas:");
col = lee.nextInt();
A = new int[fil][col];
B = new int[fil][col];
C = new int[fil][col];
System.out.println("Datos de la matriz A");
leeMat(A, fil, col);
System.out.println("Datos de la matriz B");
leeMat(B, fil, col);
sumaMat(A,B,C,fil,col);
System.out.println("Mostrando Matriz A" );
mostrarMat(A, fil, col);
System.out.println("Mostrando Matriz B" );
mostrarMat(B, fil, col);
System.out.println("Mostrando Matriz C" );
mostrarMat(C, fil, col);
}

public static void main(String arg[]) {


Suma2Matrices mat = new Suma2Matrices();
mat.leeDatos();
}
}
12. Multiplicar dos matrices A y B de la misma dimensión, en otra matrices C.
Ejemplo. Si NxM=4x2 la matriz A

i
A B
k
1 2
4 3 1 1 2 3
5 6 3 5 6 1
8 1 j
= 2x4
4x2

Para multiplicar dos matrices los interiores deben ser iguales

Entonces la matriz C tendrá dimensión: NxP=4x4


1*1 + 2*3 =1+6=7
1*1 + 2*5 = 1 + 10 =11
1*2 + 2*6 = 2 + 12 = 14
1*3 + 2*1 = 3 +2=5
7 11 14 5
4x4
13 19 26 15
23 35 46 21
11 13 22 25

multiplicaMat(A[][], fil1,col1, B[][], fil2,col2, C[][])

i = 0, fil1-1, 1

j = 0,col2-1, 1

k = 0,fil2-1, 1

C[i,j] = C[i,j]+( A [i,k] * B[k,j])

return

import java.util.Scanner;
public class Multiplica2Matrices {
Scanner lee = new Scanner(System.in);
void leeMat(int M[][], int f, int c) {
int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print("M[" + i + "," + j + "]="); //M[1,1]=
M[i][j] = lee.nextInt();
}
}
}
void mostrarMat(int M[][], int f, int c) {
int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print(M[i][j] + "\t");
}
System.out.println("");
}
}
void multiplicaMat(int A[][], int fil1, int col1, int B[][], int fil2, int col2, int C[][]) {
int i, j, k;
for (i = 0; i <= fil1 - 1; i++) {
for (j = 0; j <= col2 - 1; j++) {
for (k = 0; k <= fil2 - 1; k++) {
C[i][j] = C[i][j] + (A[i][k] * B[k][j]);
}
}
}
}
void leeDatos() {
int fil1, col1, fil2, col2;
int A[][], B[][], C[][];
System.out.println("MATRIZ A");
System.out.print("Nro de filas:");
fil1 = lee.nextInt();
System.out.print("Nro de Columnas:");
col1 = lee.nextInt();
A = new int[fil1][col1];
leeMat(A, fil1, col1);

System.out.println("MATRIZ B");
System.out.print("Nro de filas:");
fil2 = lee.nextInt();
System.out.print("Nro de Columnas:");
col2 = lee.nextInt();
B = new int[fil2][col2];
leeMat(B, fil2, col2);
if (col1 == fil2) {
C = new int[fil1][col2];
multiplicaMat(A, fil1, col1, B, fil2, col2, C);
System.out.println("Mostrando Matriz A");
mostrarMat(A, fil1, col1);
System.out.println("Mostrando Matriz B");
mostrarMat(B, fil2, col2);
System.out.println("Mostrando Matriz C");
mostrarMat(C, fil1, col2);
} else {
System.out.println("No se puede Multiplicar");
}
}
public static void main(String arg[]) {
Multiplica2Matrices mat = new Multiplica2Matrices();
mat.leeDatos();
}
}

13. Calcular la sumatoria de los valores pares en una variable sumaPar y los valores impares en otra
variable sumaImp, de una matriz A rectangular de NxM
Ejemplo: Si NxM=4x3 la matriz A

0 1 1
1 12 80
5 15 100
7 4 2
Entonces:

sumaPar = 0+12+80+100+4+2 = 200

sumaImp = 1+1+1+5+15+7 = 30

SumaParImpar(A[][],fil,col)

Sumapar=0

SumaImpar=0

i = 0, fil-1, 1

j = 0,col-1, 1

f v
A[i,j] mod 2=0

SumaImpar = SumaImpar +A[i,j] Sumapar = Sumapar +A[i,j]

Sumapar,

Sumaimpar

return
leeDatos( )

F,C

M=array [0.. F-1, 0..C-1]

leeMat (M[][],F,C)

SumaParImpar(M[][],F,C)

mostrarMatriz(M[][],N)

return

import java.util.Scanner;
public class SumaMatrizParImpar {
Scanner lee = new Scanner(System.in);
void leeMat(int M[][], int f, int c) {
int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print("M[" + i + "," + j + "]="); //M[1,1]=
M[i][j] = lee.nextInt();
}
}
}

void mostrarMat(int M[][], int f, int c) {


int i, j;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
System.out.print(M[i][j] + "\t");
}
System.out.println("");
}
} 4 4 4 4 4 4 4
4 3 3 3 3 3 4
void
4 3 2 2 2 3 4
sumarParImpar(i nt A[][], int
4 3 2 1 2 3 4
f, int c) {
4 3 2 2 2 3 4
int i, j, sumapar,
4 3 3 3 3 3 4
sumaimpar;
4 4 4 4 4 4 4
sumapar = 0;
sumaimpar = 0;
for (i = 0; i <= f - 1; i++) {
for (j = 0; j <= c - 1; j++) {
if (A[i][j] % 2 == 0) {
sumapar = sumapar + A[i][j];
} else {
sumaimpar = sumaimpar + A[i][j];
}
}
}
System.out.println("La suma de pares :" + sumapar);
System.out.println("La suma de impares :" + sumaimpar);
}

void leeDatos() {
int f, c, s;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
System.out.println("Llenando Datos de la matriz");
leeMat(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
sumarParImpar(M, f, c);

public static void main(String arg[]) {


SumaMatrizParImpar mat = new SumaMatrizParImpar();
mat.leeDatos();
}

14. Generar una matriz impar cuadrada de NxN que simule un tiro al blanco.
Ejemplo. Si NxN=5x5

Matriz de 7x7
3 3 3 3 3
Cont = 7/2 =3+1 = 4 3 2 2 2 3
3 2 1 2 3
3 2 2 2 3
3 3 3 3 3
tiroBlanco(A[][],fil,col)

T = fil/2+1
Cont =T

i = 0, T-1, 1

J = i, fil-1, 1

A[i,j]=cont

j = i + 1; f - 1 – i,1

A[j, fil-1-i]=cont

j = f - 1 – i, i ,-1

A[fil-1-i, j]=cont

j = f - 2 - i; i + 1; -1

A[j, fil-1-i]=cont

Cont=cont-1

return
leeDatos( )

F,C

M=array [0.. F-1, 0..C-1]

tiroBlanco (M[][],F,C)

mostrarMatriz(M[][],N)

return

import java.util.Scanner;

public class GeneraMatriz55 {

Scanner lee = new Scanner(System.in);

void mostrarMat(int M[][], int f, int c) {


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

void tiroBlanco(int A[][], int f, int c) {


int i, j, T, cont;
T = f / 2 + 1;
cont = T;
for (i = 0; i <= T - 1; i++) {
for (j = i; j <= f - 1 - i; j++) {
A[i][j] = cont;
}
for (j = i + 1; j < f - 1 - i; j++) {
A[j][f - 1 - i] = cont;
}
for (j = f - 1 - i; j >= i; j--) {
A[f - 1 - i][j] = cont;
}

for (j = f - 2 - i; j >= i + 1; j--) {


A[j][i] = cont;
}
cont = cont - 1;
}
}
void leeDatos() {
int f, c, s;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
System.out.println("Llenando Datos de la matriz");
tiroBlanco(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
}

public static void main(String arg[]) {


GeneraMatriz55 mat = new GeneraMatriz55();
mat.leeDatos();
}

15. Generar la matriz caracol cuadrada de NxN q

Ejemplo. Si NxN=5x5

1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

import java.util.Scanner;

public class GeneraMatriz58 {


Scanner lee = new Scanner(System.in);

void mostrarMat(int M[][], int f, int c) {


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

void caracol(int A[][], int f, int c) {


int i, j, T, cont;
T = f / 2 + 1;
cont = 1;
for (i = 0; i <= T - 1; i++) {
for (j = i; j <= f - 1 - i; j++) {
A[i][j] = cont;
cont=cont+1;
}
for (j = i + 1; j < f - 1 - i; j++) {
A[j][f - 1 - i] = cont;
cont=cont+1;
}
for (j = f - 1 - i; j >= i; j--) {
A[f - 1 - i][j] = cont;
cont=cont+1;
}

for (j = f - 2 - i; j >= i + 1; j--) {


A[j][i] = cont;
cont=cont+1;
}
}
}
void leeDatos() {
int f, c, s;
int M[][];
System.out.print("Nro de filas:");
f = lee.nextInt();
System.out.print("Nro de Columnas:");
c = lee.nextInt();
M = new int[f][c];
System.out.println("Llenando Datos de la matriz");
caracol(M, f, c);
System.out.println("Mostrando Matriz");
mostrarMat(M, f, c);
}

public static void main(String arg[]) {


GeneraMatriz58 mat = new GeneraMatriz58();
mat.leeDatos();
}
}

También podría gustarte