You are on page 1of 33

1.

Definicin de matriz (2 dimensiones)


Un arreglo bidimensional ilustra claramente las diferencias entre una bista de
datos lgica y una fsica. Un arreglo bidimensional es una estructura de datos
lgica utili para programar y solucionar problemas.
La cantidad de hileras o columnas se denomina la longitud de la dimensin, al
mismo tiempo cada una de estas columnas
contienen arreglos en ella, se
llama fcilmente 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 fi la est constituida por una sola fi la.

Matriz columna
La matriz columna tiene una sola columna

Matriz rectangular
La matriz rectangular tiene distinto nmero de fi las que de
columnas, siendo su dimensin mxn.

Matriz traspuesta
Dada una matriz A, se llama matriz traspuesta de A a la matriz
que se obtiene cambiando ordenadamente las fi las por las
columnas.
Luis David Almanza Padilla

Pgina 1

Matriz nula
En una matriz nula todos los elementos son ceros.

Matriz cuadrada
La matriz cuadrada tiene el mismo nmero de fi las que de
columnas.
Los elementos
principal.

de

la

forma

a i i constituyen

la

diagonal

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

Pgina 2

Matriz diagonal
En una matriz diagonal todos los elementos que no estn
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:

Luis David Almanza Padilla

Pgina 3

A 2 = A.

Matriz involutiva
Una matriz, A, es involutiva si:
A 2 = I.

Matriz simtrica
Una matriz simtrica es una matriz cuadrada que verifi ca:
A = At.

Matriz antisimtrica o hemisimtrica


Una matriz antisimtrica
cuadrada que verifi ca (2):

hemisimtrica

A = A t .

Luis David Almanza Padilla

Pgina 4

es

una

matriz

3. Como se defi ne una matriz en c


C# admite matrices de una dimensin, matrices multidimensionales (matrices
rectangulares) y matrices de matrices (matrices escalonadas). El siguiente
ejemplo muestra cmo 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];
}
Tambin se pueden utilizar matrices ms 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 cdigo declara una matriz unidimensional que contiene
matrices tridimensionales de matrices bidimensionales de tipo int:
int[][,,][,] numbers;(3)

Luis David Almanza Padilla

Pgina 5

Luis David Almanza Padilla

Pgina 6

4. matriz para llenar una matriz numrica 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

Pgina 7

5. programa para imprimir la matriz del punto 4


#include<stdio.h>
#include<conio.h>
Luis David Almanza Padilla

Pgina 8

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

Pgina 9

Luis David Almanza Padilla

Pgina 10

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++)
{
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++)
{
Luis David Almanza Padilla

Pgina 11

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

Pgina 12

7. Programa que genere la matriz identidad de una dimensin 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
Luis David Almanza Padilla

Pgina 13

{
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

Pgina 14

8. programa que genere a partir de una matriz dada de n dimensin 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

Pgina 15

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

Pgina 16

Luis David Almanza Padilla

Pgina 17

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++)
{
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];
}
Luis David Almanza Padilla

Pgina 18

}
}
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

Pgina 19

Luis David Almanza Padilla

Pgina 20

Luis David Almanza Padilla

Pgina 21

Luis David Almanza Padilla

Pgina 22

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++)
{
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];
Luis David Almanza Padilla

Pgina 23

}
}
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

Pgina 24

Luis David Almanza Padilla

Pgina 25

Luis David Almanza Padilla

Pgina 26

Bibliografa:

Luis David Almanza Padilla

Pgina 27

1.Langsam Yedidyah, Aungensten Moshe, Tenenbaum Aaron, estructuras de


datos con c y c++, Prentice hall, 1997,(pp 34,35).

Luis David Almanza Padilla

Pgina 28

Luis David Almanza Padilla

Pgina 29

1. Vitutor,[en lnea].2012,[10 de noviembre de 2013].disponible en la web:


http://profesoraeugenia.blogspot.mx/2006/07/cmo-citar-una-pginaweb.html

Luis David Almanza Padilla

Pgina 30

2. Msdn micosoft,[en lnea].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

Pgina 31

Luis David Almanza Padilla

Pgina 32