matices programacion basica

37
1. Definición de matriz (2 dimensiones) Un arreglo bidimensional ilustra claramente las diferencias entre una bista de datos lógica y una física. Un arreglo bidimensional es una estructura de datos lógica utili para programar y solucionar problemas. La cantidad de hileras o columnas se denomina la longitud de la dimensión, al mismo tiempo cada una de estas columnas contienen arreglos en ella, se llama fácilmente a un elemento de la matriz por medio de 2 índices. Ejemplo Int a[3][5] Esto define un arreglo de tres elementos. Cada uno de los elementos es por sí mismo un arreglo que contiene cinco enteros. Para llamar en este caso al elemento sombreado se llama al elemento 2 de la columna 4 se puede especificar de esta forma a[2] [4].el primer dato representa las filas y el segunda indica la columna en que se ubica.(1) Fig.1 2. Tipos de matriz Una matriz fila está constituida por una sola fila. Matriz columna La matriz columna tiene una sola columna Matriz rectangular La matriz rectangular tiene distinto número de filas que de columnas, siendo su dimensión mxn . Luis David Almanza Padilla Página 1

Upload: luis-david-almanza-padilla

Post on 15-Dec-2015

233 views

Category:

Documents


1 download

DESCRIPTION

ESTE DOCUMENTO APORTA información sobre matrices, enfocadas en programación básica

TRANSCRIPT

Page 1: Matices  PROGRAMACION BASICA

1. Definición de matriz (2 dimensiones)

Un arreglo bidimensional ilustra claramente las diferencias entre una bista de datos lógica y una física. Un arreglo bidimensional es una estructura de datos lógica utili para programar y solucionar problemas. La cantidad de hileras o columnas se denomina la longitud de la dimensión, al mismo tiempo cada una de estas columnas contienen arreglos en ella, se llama fácilmente a un elemento de la matriz por medio de 2 índices.Ejemplo Int a[3][5]Esto define un arreglo de tres elementos. Cada uno de los elementos es por sí mismo un arreglo que contiene cinco enteros.Para llamar en este caso al elemento sombreado se llama al elemento 2 de la columna 4 se puede especificar de esta forma a[2][4].el primer dato representa las filas y el segunda indica la columna en que se ubica.(1)

Fig.1

2. Tipos de matriz

Una matriz fila está constituida por una sola fila.

Matriz columna

La matriz columna tiene una sola columna

Matriz rectangular

La matriz rectangular tiene distinto número de filas que de columnas, siendo su dimensión mxn .

Matriz traspuesta

Luis David Almanza Padilla Página 1

Page 2: Matices  PROGRAMACION BASICA

Dada una matriz A, se llama matriz traspuesta de A a la matriz que se obtiene cambiando ordenadamente las filas por las columnas.

Matriz nula

En una matriz nula todos los elementos son ceros.

Matriz cuadrada

La matriz cuadrada tiene el mismo número de filas que de columnas.

Los elementos de la forma a i i constituyen la diagonal principal.

La diagonal secundaria la forman los elementos con i+j = n+1, siendo n el orden de la matriz.

Tipos de matrices cuadradas

Matriz triangular superior

En una matriz triangular superior los elementos situados por debajo de la diagonal principal son ceros.

Matriz triangular inferior

En una matriz triangular inferior los elementos situados por encima de la diagonal principal son ceros.

Luis David Almanza Padilla Página 2

Page 3: Matices  PROGRAMACION BASICA

Matriz diagonal

En una matriz diagonal todos los elementos que no están situados en la diagonal principal son nulos.

Matriz escalar

Una matriz escalar es una matriz diagonal en la que los elementos de la diagonal principal son iguales.

Matriz identidad o unidad

Una matriz identidad es una matriz diagonal en la que los elementos de la diagonal principal son iguales a 1.

Matriz regular

Una matriz regular es una matriz cuadrada que tiene inversa.

Matriz singular

Una matriz singular no tiene matriz inversa.

Matriz idempotente

Una matriz, A, es idempotente si:

A2 = A.

Luis David Almanza Padilla Página 3

Page 4: Matices  PROGRAMACION BASICA

Matriz involutiva

Una matriz, A, es involutiva si:

A2 = I.

Matriz simétrica

Una matriz simétrica es una matriz cuadrada que verifica:

A = A t.

Matriz antisimétrica o hemisimétrica

Una matriz antisimétrica o hemisimétrica es una matriz cuadrada que verifica (2):

A = −A t.

Luis David Almanza Padilla Página 4

Page 5: Matices  PROGRAMACION BASICA

3. Como se define una matriz en c

C# admite matrices de una dimensión, matrices multidimensionales (matrices rectangulares) y matrices de matrices (matrices escalonadas). El siguiente ejemplo muestra cómo declarar diferentes tipos de matrices:Matrices unidimensionales:int[] numbers;ejemplo:int[] numbers = new int[5];

Matrices multidimensionales:

string[,] names;ejemplo:string[,] names = new string[5,4];

Matrices de matrices (escalonadas):

byte[][] scores;ejemplo:byte[][] scores = new byte[5][];for (int x = 0; x < scores.Length; x++) { scores[x] = new byte[4];}También se pueden utilizar matrices más grandes. Por ejemplo, se puede utilizar una matriz rectangular de tres dimensiones:int[,,] buttons = new int[4,5,3];Incluso, se pueden combinar matrices rectangulares y escalonadas. Por ejemplo, el siguiente código declara una matriz unidimensional que contiene matrices tridimensionales de matrices bidimensionales de tipo int:int[][,,][,] numbers;(3)

Luis David Almanza Padilla Página 5

Page 6: Matices  PROGRAMACION BASICA

4. matriz para llenar una matriz numérica de 3x3 elementos

#include<stdio.h>

#include<conio.h>

main()

{

int matriz[3][3]={{0}},i,j;

for(i=1;i<=3;i++)

{

for(j=1;j<=3;j++)

{

printf("introduzca el valor %d %d de la matriz \n", i,j);

scanf("%d", &matriz[i][j]);

}

}

Getch();

Return 0;

}

Luis David Almanza Padilla Página 6

Page 7: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 7

Page 8: Matices  PROGRAMACION BASICA

5. programa para imprimir la matriz del punto 4

#include<stdio.h>

#include<conio.h>

main()

{

int matriz[3][3]={{0}},i,j;

for(i=1;i<=3;i++)

{

for(j=1;j<=3;j++)

{

printf("introduzca el valor %d %d de la matriz \n", i,j);

scanf("%d", &matriz[i][j]);

}

}

printf("\n\t");

printf("estos son los valores de la matriz\n");

for(i=1;i<=3;i++)

{

printf("\n");

for(j=1;j<=3;j++)

{

printf( "%6d ", matriz [i][j]);

}

}

getch();

return 0;

}

Luis David Almanza Padilla Página 8

Page 9: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 9

Page 10: Matices  PROGRAMACION BASICA

6. programa que sume 2 matrices de 2x2 realiza la corrida completa, índice y contenido de matrices originales y resultantes.#include<stdio.h>#include<conio.h>main(){ int matriz[3][3]={{0}},matriz1[3][3]={{0}},matrizsuma[3][3]={{0}},i,j; for(i=1;i<=2;i++) { for(j=1;j<=2;j++) { printf("\nintroduzca el valor %d %d de la matriz: ", i,j); scanf("%d", &matriz[i][j]); } } for(i=1;i<=2;i++)

Luis David Almanza Padilla Página 10

Page 11: Matices  PROGRAMACION BASICA

{ for(j=1;j<=2;j++) { printf("\ndame el valor %d %d de la matriz", i,j); scanf("%d", &matriz1[i][j]); } } for(i=1;i<=2;i++) { for(j=1;j<=2;j++) { matrizsuma[i][j]=matriz[i][j]+matriz1[i][j]; } } printf("\n\t"); printf("matriz matriz 1 matriz suma "); for(i=1;i<=2;i++) { printf("\n"); for(j=1;j<=2;j++) { printf( " %6d", matriz [i][j]); } for(j=1;j<=2;j++) { printf("%6d", matrizsuma[i][j]); } for(j=1;j<=2;j++) { printf("%6d",matriz1[i][j]); } } getch(); return 0;}

Luis David Almanza Padilla Página 11

Page 12: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 12

Page 13: Matices  PROGRAMACION BASICA

7. Programa que genere la matriz identidad de una dimensión n. realizar la corrida completa, índice y contenido de matriz resultante #include<stdio.h>#include<conio.h>main(){ int matrizi[100][100],i,j,n; printf("programa que genereuna matriz identidad"); printf("\n ¿de que dimension quieres tu matriz? no mayor a 100 "); scanf("\n %d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(i==j) { matrizi[i][j]=1; } else { matrizi[i][j]=0; } } } printf("MATRIZ IDENTIDAD"); for(i=1;i<=n;i++) { printf("\n"); for(j=1;j<=n;j++) { printf("%5d",matrizi[i][j]); } } getch(); return 0;}

Luis David Almanza Padilla Página 13

Page 14: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 14

Page 15: Matices  PROGRAMACION BASICA

8. programa que genere a partir de una matriz dada de n dimensión la matriz transpuesta. Realiza

la corrida completa, índice y contenido de matriz original y resultante.

#include<stdio.h>

#include<conio.h>

main()

{

int matriz[100][100]={{0}},matriz1[100][100]={{0}},i,j,aux=0,aux1=0,d;

printf("programa que se encarga de realizar una matriz transpuesta");

printf("\nDame la dimension de la matriz que deseas introducir:");

scanf("%d",&d);

for(i=1;i<=d;i++)

{

for(j=1;j<=d;j++)

{

printf("\nintroduzca el valor %d %d de la matriz: ", i,j);

scanf("%d", &matriz[i][j]);

}

}

for(i=1;i<=d;i++)

{

Luis David Almanza Padilla Página 15

Page 16: Matices  PROGRAMACION BASICA

for(j=1;j<=d;j++)

{

matriz1[i][j]=matriz[j][i];

}

}

printf("\n matriz matriz transpuesta \n");

for(i=1;i<=d;i++)

{

printf("\n");

for(j=1;j<=d;j++)

{

printf("%3d", matriz[i][j]);

}

printf(" ");

for(j=1;j<=d;j++)

{

printf("%3d", matriz1[i][j]);

}

}

getch();

return 0;

}

Luis David Almanza Padilla Página 16

Page 17: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 17

Page 18: Matices  PROGRAMACION BASICA

9. Programa que multiplique dos matrices de 3x3. Realizar la corrida completa, índice y contenido de matrices originales y resultantes.#include<stdio.h>#include<conio.h>main(){ int matriz[3][3]={{0}},matriz1[3][3]={{0}},matrizmult[4][4]={{0}},i,j,l; for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { printf("\nintroduzca el valor %d %d de la matrizA: ", i,j); scanf("%d", &matriz[i][j]); } } for(i=1;i<=3;i++)

Luis David Almanza Padilla Página 18

Page 19: Matices  PROGRAMACION BASICA

{ for(j=1;j<=3;j++) { printf("\ndame el valor %d %d de la matrizB: ", i,j); scanf("%d", &matriz1[i][j]); } } for(l=1;l<=3;l++) { for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { matrizmult[l][i]=(matriz[l][j]*matriz1[j][i])+matrizmult[l][i]; } } }printf(" A B C"); for(i=1;i<=3;i++) { printf("\n"); for(j=1;j<=3;j++) { printf("%5d", matriz[i][j]); } printf(" "); for(j=1;j<=3;j++) { printf("%5d", matriz1[i][j]); } printf(" "); for(j=1;j<=3;j++) { printf("%5d",matrizmult[i][j]); } } getch(); return 0;

Luis David Almanza Padilla Página 19

Page 20: Matices  PROGRAMACION BASICA

}

Luis David Almanza Padilla Página 20

Page 21: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 21

Page 22: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 22

Page 23: Matices  PROGRAMACION BASICA

10. Programa propuesto por el alumno, realiza corrida completa índice y contenido de las matrices resultantes.#include<stdio.h>#include<conio.h>main(){ int matriz[100][100]={{0}},i,j,a,s; printf("este programa te permite saber el numero de asistencias \n de cada alumno por semana y el total de asistencias de la semana\n ademas de el total de asistencias"); printf("\ndame el numero de alumnos:"); scanf("%d",&a); printf("dame el numero de semanas"); scanf("%d",&s); for(i=1;i<=a;i++) {

Luis David Almanza Padilla Página 23

Page 24: Matices  PROGRAMACION BASICA

for(j=1;j<=s;j++) { printf("\nintroduzca el numero de asistencias del alumno %d en la semana %d: ", i,j); scanf("%d", &matriz[i][j]); if(matriz[i][j]>5) { printf("\nel numero de asistencias no puede pasar de 5"); j--; } } } for(i=1;i<=a;i++) { for(j=1;j<=s;j++) { matriz[i][s+1]=matriz[i][j]+matriz[i][s+1]; } } for(i=1;i<=s;i++) { for(j=1;j<=a;j++) { matriz[a+1][i]=matriz[j][i]+matriz[a+1][i]; } } for(i=1;i<=s;i++) { matriz[a+1][s+1]=matriz[a+1][i]+matriz[a+1][s+1]; } printf("\nla tabla de asistencias es"); for(i=1;i<=a+1;i++) { printf("\n"); for(j=1;j<=s+1;j++) { printf("%4d",matriz[i][j]); } } getch(); return 0; }

Luis David Almanza Padilla Página 24

Page 25: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 25

Page 26: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 26

Page 27: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 27

Page 28: Matices  PROGRAMACION BASICA

Bibliografía:

1.Langsam Yedidyah, Aungensten Moshe, Tenenbaum Aaron, estructuras de datos con c y c++, Prentice hall, 1997,(pp 34,35).

Luis David Almanza Padilla Página 28

Page 29: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 29

Page 30: Matices  PROGRAMACION BASICA

1. Vitutor,[en línea].2012,[10 de noviembre de 2013].disponible en la web: http://profesoraeugenia.blogspot.mx/2006/07/cmo-citar-una-pgina-web.html

Luis David Almanza Padilla Página 30

Page 31: Matices  PROGRAMACION BASICA

2. Msdn micosoft,[en línea].2013,[10 de noviembre de 2013]. Disponible en la web: http://msdn.microsoft.com/es-es/library/aa288453(v=vs.71).aspx

Luis David Almanza Padilla Página 31

Page 32: Matices  PROGRAMACION BASICA

Luis David Almanza Padilla Página 32