Mostrando entradas con la etiqueta diagonal principal.. Mostrar todas las entradas
Mostrando entradas con la etiqueta diagonal principal.. Mostrar todas las entradas

viernes, 6 de diciembre de 2013

Matrices en Java – Forex – Curso – Motor

Una matriz es una estructura de datos en la que podemos almacenar una cierta cantidad de datos los cuales deben ser delmismo tipo(int, float, string...) posee dos subíndice, el primero representa el número de filas y el segundo representa la cantidad de columnas. La sintaxis para la declaración sería la siguiente.int[][] matriz; donde el tipo de dato puede ser el que nosotros deseemos, en éste casoint.

Ejemplo:

Matriz 2 x 3 ( 2 filas, 3 columnas).

columna 1 columna 2 columna 3
fila 1 4 59
fila 2 11 1 22

Cada elemento de la matriz posee una cierta posición o ubicación. Ejemplo, el dato9 se encuentra en la fila 1 columna 3.

IMPORTANTE:
Hay que tener en cuenta que en matemática (Álgebra lineal) empezamos a contar las filas y columnas a partir de 1. En programación para referirnos al dato9 sería la fila 0 y la columna 2, dado que empezamos a contar a partir de la posición [0][0].

Ejemplo:

Matriz 2 x 3 ( 2 filas, 3 columnas).

columna 0 columna 1 columna 2
fila 0 4 59
fila 1 11 1 22

Si queremos mostrar en pantalla el dato9 la sintaxis sería la siguiente:

System.out.println(matriz[0][2]);

Vamos a ver algunas formas de manejar las matrices en java:

"Desarrollar un programa en el cual se ingresen datos de tipo entero (int) en una matriz de orden m x n donde m es el numero de filas y n el numero de columnas (el numero de filas y columnas debe ser ingresado por el usuario). Además, imprimir: los componentes o datos de la primera fila de la matriz, los de la ultima fila, los de la primera columna, los de la diagonal principal (solo si es una matriz cuadrada), el mayor de todos los datos enteros y la fila y columna a las que pertenece, los valores que se encuentran en los vertices de la matriz y todos los datos o componentes de la matriz."


Matriz.java
  1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import java.util.Scanner;

public class Matriz {
private Scanner teclado;
private int[][] matriz;
private int filas;
private int columnas;

public void cargar(){
teclado = new Scanner(System.in);
System.out.println("Ingrese la cantidad de filas de la matriz");
filas = teclado.nextInt();
System.out.println("Ingrese la cantidad de columnas de la matriz");
columnas = teclado.nextInt();
matriz = new int[filas][columnas];
for(int i=0; i filas; i++){
for(int j=0; jcolumnas;j++){
System.out.println("Ingrese componente de la matriz");
matriz[i][j] = teclado.nextInt();
}
}
}

public void PrimeraFila(){
System.out.println("Primeral Fila:");
for(int j=0; j columnas; j++){
System.out.println(matriz[0][j]); // No se presenta problemas acá ya que la matriz siempre tendra al menos un componente, y este estaría en la posición [0][0].
}
}

public void UltimaFila(){
System.out.println("Ultima Fila:");
for(int j=0; j columnas; j++){
System.out.println(matriz[filas - 1][j]); // filas - 1 es el valor de la última fila. Ejemplo: una matriz de 2 x 2 la la ultima fila sería la 1 ya que empezamos desde 0, por lo tanto 2- 1 = 1.
}
}

public void PrimeraColumna(){
System.out.println("Primeral Columna:");
for(int i=0; i filas; i++){
System.out.println(matriz[i][0]); //No se presenta problemas acá ya que la matriz siempre tendra al menos un componente, y este estaría en la posición [0][0].
}
}

public void DiagonalPrincipal(){
System.out.println("Diagonal Principal:");
if(filas == columnas){
for(int D= 0; D matriz.length; D++){ // El metodo .length retorna la cantidad de filas de la matriz.
System.out.println(matriz[D][D]);
}
}
else{
System.out.println("La matriz ingresada no es cuadrada, por lo tanto no tiene diagonal principal.");
}
}

public void MayorElemento(){
int mayorE = matriz[0][0]; //Declaramos la variable que va a almacenar al mayor elmento y lo inicializamos e la posición (0,0).
int filaE = 0;
int columnaE = 0;
for(int i = 0; i filas; i++){
for(int j = 0; j columnas; j++){
if(matriz[i][j] mayorE){
mayorE = matriz[i][j];
filaE = i + 1; // La fila en donde se encuentra ese elemento. Le sumamos 1 ya que la teoría de matrices nos dice que el primer elemento de una matriz es el (1,1) y si imprimimos sin sumar 1 entonces arrojaríamos como resultado que el primer elemento es el (0,0) de ser este el caso.
columnaE = j + 1; // La columna en donde se encuentra ese elemento. Le sumamos 1 ya que la teoría de matrices nos dice que el primer elemento de una matriz es el (1,1) y si imprimimos sin sumar 1 entonces arrojaríamos como resultado que el primer elemento es el (0,0) de ser este el caso.
}
}
}
System.out.println("El mayor elemento dentro de la matriz es: " + mayorE);
System.out.println("Se encuentra en la fila numero: " + filaE + " y en la columna numero: " + columnaE);
}

public void Vertices(){
System.out.println("Vertices de la matriz: ");
System.out.println("Valor del vertice superior izquierdo: " + matriz[0][0]);
System.out.println("Valor del vertice superior derecho: " + matriz[0][columnas - 1]); //columnas menos 1 ya que si decimos que la matriz tiene 3 columnas empezaremos a agregar valores desde la posicion 0 hasta la 2 dado que el for se repite mientras j sea menor a la cantidad de columnas que ingresamos ( j columnas).
System.out.println("Valor del vertice inferior izquierdo: " + matriz[filas - 1][0]); //filas menos 1 ya que si decimos que la matriz tiene 4 filas empezaremos a agregar valores desde la posicion 0 hasta la 3 dado que el for se repite mientras 1 sea menor a la cantidad de filas que ingresamos ( i filas).
System.out.println("Valor del vertice inferior derecho: " + matriz[filas - 1][columnas - 1]); // Similar a las dos anteriores lineas.
}

public void MatrizCompleta(){
System.out.println("Matriz Completa:");
for(int i= 0; i filas; i++){
for(int j=0; j columnas; j++){
System.out.println(matriz[i][j]);
}
}
}

public static void main(String[] ar){
Matriz mat = new Matriz();
mat.cargar();
mat.PrimeraFila();
mat.UltimaFila();
mat.PrimeraColumna();
mat.DiagonalPrincipal();
mat.MayorElemento();
mat.MatrizCompleta();
}

}

Explicación:
private int[][] matriz;
private int filas;
private int columnas;

Declaramos la matriz y las variables "filas" y "columnas" las cuales almacenarán el valor que les demos.
System.out.println("Ingrese la cantidad de filas de la matriz");
filas = teclado.nextInt();
System.out.println("Ingrese la cantidad de columnas de la matriz");
columnas = teclado.nextInt();
matriz = new int[filas][columnas];

Solicitamos al usuario que ingrese la cantidad de filas y columnas y luego las almacenamos en las respectivas variables. Luego, creamos la matriz dándole al primer subíndice el valor ingresado para las filas y al segundo subíndice el valor ingresado para las columnas.

for(int i=0; i filas; i++){
for(int j=0; jcolumnas;j++){
System.out.println("Ingrese componente de la matriz");
matriz[i][j] = teclado.nextInt();
}
}

Para ingresar los elementos, componentes o datos de la matriz, usamos un ciclo for dentro de otro ciclo for dado que la matriz puede tener varias filas y cada fila puede tener varias columnas.

public void PrimeraFila(){
System.out.println("Primeral Fila:");
for(int j=0; j columnas; j++){
System.out.println(matriz[0][j]); // No se presenta problemas acá ya que la matriz siempre tendra al menos un componente, y este estaría en la posición [0][0].
}
}

Para imprimir la primera fila de nuestra matriz sabemos que la primera fila sería el subíndice 0 y que ésta puede tener varias columnas, por ello usamos un for que recorra todas las columnas o el subíndice j, donde j tomara el valor desde 0 hasta la cantidad de columnas que contenga la matriz.

public void UltimaFila(){
System.out.println("Ultima Fila:");
for(int j=0; j columnas; j++){
System.out.println(matriz[filas - 1][j]);
 }
}

Para imprimir la ultima fila de nuestra matriz sería:filas - 1debido a que si la matriz contiene dos filas para referirnos a la segunda fila ésta sería el subíndice [1] y no el 2.Ejemplo: una matriz de 2 x 2 la ultima fila sería la 1 ya que empezamos desde 0, por lo tanto 2- 1 = 1.

public void PrimeraColumna(){
System.out.println("Primeral Columna:");
for(int i=0; i filas; i++){
System.out.println(matriz[i][0]); //No se presenta problemas acá ya que la matriz siempre tendra al menos un componente, y este estaría en la posición [0][0].
}
}

Similar al método usado para la primera fila. El subíndice para la primera columna sería [0].matriz[i][0].

public void DiagonalPrincipal(){
System.out.println("Diagonal Principal:");
if(filas == columnas){
for(int D= 0; D matriz.length; D++){ // El metodo .length retorna la cantidad de filas de la matriz.
System.out.println(matriz[D][D]);
}
}
else{
System.out.println("La matriz ingresada no es cuadrada, por lo tanto no tiene diagonal principal.");
}
}

Los elementos de la diagonal principal de una matriz son todos los que se encuentran en los subíndices i y j donde i = j .
Digamos que i = j = D. Entonces para referirnos a los elementos de la diagonal principal seríamatriz[D][D]
Si tenemos una matriz de 3x3 (3 filas, 3 columnas) los elementos de la diagonal principal serían:matriz[0][0],matriz[1][1],matriz[2][2]

Es IMPORTANTE tener presente que solo las matrices cuadradas poseen diagonal principal. Entiendase matriz cuadrada como la matriz que posee la misma cantidad de filas y columnas (matrices 2x2, 3x3, 4x4... nxn).Es por esto que usamos unif para imprimir los elementos solo sifilas == columnas, de no ser ésto así arrojará un mensaje de error diciendo que la matriz ingresada no es una matriz cuadrada.

Utilizamos el método.length el cual retorna la cantidad de filas de nuestra matriz, esto le dirá alciclo for cuantas veces se debe repetir.

public void MayorElemento(){
int mayorE = matriz[0][0]; //Declaramos la variable que va a almacenar al mayor elmento y lo inicializamos e la posición [0][0].
int filaE = 0;
int columnaE = 0;
for(int i = 0; i filas; i++){
for(int j = 0; j columnas; j++){
if(matriz[i][j] mayorE){
mayorE = matriz[i][j];
filaE = i + 1; // La fila en donde se encuentra ese elemento. Le sumamos 1 ya que la teoría de matrices nos dice que el primer elemento de una matriz es el [1,1] y si imprimimos sin sumar 1 entonces arrojaríamos como resultado que el primer elemento es el [0][0]. de ser este el caso.
columnaE = j + 1; // La columna en donde se encuentra ese elemento. Le sumamos 1 ya que la teoría de matrices nos dice que el primer elemento de una matriz es el (1,1) y si imprimimos sin sumar 1 entonces arrojaríamos como resultado que el primer elemento es el [0][0]. de ser este el caso.
}
}
}
System.out.println("El mayor elemento dentro de la matriz es: " + mayorE);
System.out.println("Se encuentra en la fila numero: " + filaE + " y en la columna numero: " + columnaE);
}

Declaramos la variablemayorE y la inicializamos con el valor del elemento el cual se encuentra en la posición [0][0]. También las variablesfilaE ycolumnaE para almacenar la fila y columna en la que se encuentre el mayor elemento. Utilizamos un ciclo for dentro de otro ciclo for para ir comparando cada elemento o dato. Hay que tener en cuenta que al momento de imprimir la fila o columna en la que se encuentra el dato debemos hacerlo de la siguiente manera:filaE = i + 1; Si se encuentra en la fila 0 diremos por pantalla que se encuentra en la fila 1 o primera fila.

public void Vertices(){
System.out.println("Vertices de la matriz: ");
System.out.println("Valor del vertice superior izquierdo: " + matriz[0][0]);
System.out.println("Valor del vertice superior derecho: " + matriz[0][columnas - 1]);
System.out.println("Valor del vertice inferior izquierdo: " + matriz[filas - 1][0]);
System.out.println("Valor del vertice inferior derecho: " + matriz[filas - 1][columnas - 1]);
}


Para el vértice superior izquierdo:columnas menos 1 ya que si decimos que la matriz tiene 3 columnas empezaremos a agregar valores desde la posicion 0 hasta la 2 dado que el for se repite mientras j sea menor a la cantidad de columnas que ingresamos ( j columnas).

Para el vértice inferior izquierdo:filas menos 1 ya que si decimos que la matriz tiene 4 filas empezaremos a agregar valores desde la posicion 0 hasta la 3 dado que el for se repite mientras 1 sea menor a la cantidad de filas que ingresamos ( i filas).

Para el vértice inferior derecho:Similar a las dos vértices anteriores.

Finalmente se realiza la salida:



Photo Christmas cards Met auto Social media management Low Credit Line Credit Cards annuity payment Php programmers Motor Replacements Online casino Criminal lawyer small business administration sba Learning adobe illustrator Car Insurance Quotes Mobile casino Social media platforms for business Forex Trading Platform Social media strategies fortis health insurance temporary Hire php programmers Casino california law lemon Php programmers for hire STRUCTURED ANNUITY SETTLEMENT Online Classes Live casino Hire php developer DUI lawyer Computer science classes online Donate Your Car Sacramento Motor replacements accident car florida lawyer Criminal lawyer Miami Seo companies Custom WordPress theme designer Make money online Australia Psd to WordPress Casino reviews New social media platforms Car Insurance Companies Donate Cars in MA WordPress hosting Hire php developers Criminal Defense Attorneys Florida CAR DONATE Christmas cards compare life assurance Dwi lawyer lawsuit mesothelioma Service business software Mesothelioma Law Firm mesothelioma care Car Insurance in South Dakota Register Free Domains boca raton personal injury attorney structured settlement buyer low credit line credit cards Home phone internet bundle FORENSICS ONLINE COURSE phd in counseling education average mesothelioma settlement google adsense Criminal defense lawyer Seo services most profitable internet business buy structured settlements Best Seo company Business management software Online Christmas cards Bankruptcy lawyer purchase structured settlements car accident lawyer michigan Social media campaigns cheap car insurance in virginia city college in miami Mortgage Criminal defense attorneys Florida massage school dallas texas Best social media platforms for business MOTOR REPLACEMENTS saskatchewan auto insurance Life Insurance Co Lincoln home phone internet bundle online motor insurance quotes supportpeachtreecom Business finance group Psd to html Cheap Domain Registration Hosting CHEAP DOMAIN REGISTRATION HOSTING WordPress themes for designers Best social media platforms Auto Mobile Shipping Quote peritoneal mesothelioma mesothelioma lawyer dallas st louis mesothelioma attorney HOW TO DONATE A CAR IN CALIFORNIA WebEx costs sell structured settlement calculator mesotheioma Car Insurance Quotes Colorado Adobe illustrator classes Online Stock Trading Seo company Nunavut Culture auto insurance cost by state Custom Christmas cards mesothelioma litigation mesothelioma attorney california Annuity Settlements california mesothelioma attorney Donate Car for Tax Credit Mortgage Adviser NEUSON NUNAVUT CULTURE Auto Accident Attorney refinance with bad credit Cheap Car Insurance for Ladies futuristic architecture cheap auto insurance in va Donate cars in ma alabama mesothelioma lawyer car insurance in south dakota Social media examiner Donate cars Illinois Mortgage adviser mesothelioma Tech school orlando criminal attorney Html email Social media platforms car insurance quotes mn benchmark lending Proud Italian cook Italian cooking school how to donate a car in california Donating a Car in Maryland WordPress theme designers virtual data rooms ONLINE COLLEDGES Car insurance quotes pa mesothelioma suit Donate your Car for Money Social media tools DONATING USED CARS TO CHARITY car accident lawyers los angeles Online Motor Insurance Quotes data recovery raid arizona auto accident attorney CAR INSURANCE QUOTES UTAH ASBESTOS LAWYERS DONATING A CAR IN MARYLAND injury attorney baton rouge structured annuity settlement Donate Car to Charity California Dayton Freight Lines Met Auto personal injury lawyer los angeles auto accident attorneys life insurance quotes online colledges How to Donate A Car in California Sell Annuity Payment Structures Annuity Settlement Donate Your Car for Kids Asbestos Lawyers PSYCHIC FOR FREE mesothelioma lawyer texas la personal injury lawyer mesothelioma attorney assistance motor replacements register free domains Hard drive data recovery services Hard drive Data Recovery Services Donate a Car in Maryland Donate old cars to charity domain yahoo donating used cars to charity donate your car for kids workers compensation lawyer los angeles Donate Cars Illinois Best Criminal Lawyers in Arizona mesothelioma information CHEAP CAR INSURANCE FOR LADIES Cheap domain registration hosting Car Insurance Quotes Utah PHD on Counseling Education Neuson buyer of structured settlement annuity Holland Michigan College email bulk service Donate car to charity California injury lawyers mesotheliama Royalty Free Images Stock SELL ANNUITY PAYMENT Online Colleges Paperport Promotional Code Psychic for Free World trade center footage what is structured settlement World Trade Center Footage mesotheloma Massage School Dallas Texas Donate Old Cars to Charity Virtual Data Rooms Dallas Mesothelioma Attorneys mesothelioma attorneys california anti spam appliance Claim structured settlement company Car Insurance Quotes MN Cheap Auto Insurance in VA Forensics Online Course Home Phone Internet Bundle Donating Used Cars to Charity FUTURISTIC ARCHITECTURE Data Recovery Raid accident attorney san bernardino Personal Injury Lawyers Car Insurance Quotes PA earthlink business internet new york mesothelioma law firm DALLAS MESOTHELIOMA ATTORNEYS life insurance co lincoln DAYTON FREIGHT LINES Email Bulk Service Webex Costs asbestos lung cancer dui lawyer scottsdale CAR ACCIDENT LAWYERS CRIMINAL DEFENSE ATTORNEYS FLORIDA houston tx auto insurance Cheap Car Insurance in Virginia Nunavut culture CHEAP AUTO INSURANCE IN VA selling a structured settlement WORLD TRADE CENTER FOOTAGE Better Conference Calls Futuristic Architecture semi truck accident lawyers Car Donate CAR INSURANCE QUOTES MN Online College Course Automobile Accident Attorney event management security Car Accident Lawyers maritime lawyer houston business email web hosting Motor Insurance Quotes criminal defense attorneys florida Asbestos Lung Cancer DONATE OLD CARS TO CHARITY