4. El origen de las matrices es muy antiguo. Uncuadrado mágico, 3 por 3, se registra en la literatura
china hacia el 650 a. C.2
Es larga la historia del uso de las matrices para resolver ecuaciones lineales. Un importante texto
matemático chino que proviene del año 300 a. C. a200 a. C., Nueve capítulos sobre el Arte de las
matemáticas (Jiu Zhang Suan Shu), es el primer ejemplo conocido de uso del método de matrices
para resolver un sistema de ecuaciones simultáneas.3 En el capítulo séptimo, "Ni mucho ni poco", el
concepto de determinante apareció por primera vez, dos mil años antes de su publicación por el
matemático japonés Seki Kōwa en 1683 y el matemático alemán Gottfried Leibniz en 1693.
Los "cuadrados mágicos" eran conocidos por los matemáticos árabes, posiblemente desde
comienzos del siglo VII, quienes a su vez pudieron tomarlos de los matemáticos y astrónomos de
la India, junto con otros aspectos de las matemáticas combinatorias. Todo esto sugiere que la idea
provino de China. Los primeros "cuadrados mágicos" de orden 5 y 6 aparecieron en Bagdad en
el 983, en laEnciclopedia de la Hermandad de Pureza (Rasa'il Ihkwan al-Safa).2
Después del desarrollo de la teoría de determinantes por Seki Kowa y Leibniz, a finales del siglo
XVII, Cramer presentó en 1750 la ahora denominada regla de Cramer. Carl Friedrich Gauss y Wilhelm
Jordan desarrollaron la eliminación de Gauss-Jordan en el siglo XIX.
El término "matriz" fue acuñado en 1848, por J. J. Sylvester. En 1853, Hamilton hizo algunos aportes a la
teoría de matrices. Cayleyintrodujo en 1858 la notación matricial, como forma abreviada de escribir
un sistema de m ecuaciones lineales
4
5. Una matriz (array ) es una zona de almacenamiento
contiguo, que contiene una serie de elementos del
mismo tipo, los elementos de la matriz [1]. Desde el
punto de vista lógico podemos considerarlas como un
conjunto de elementos ordenados en fila. Así pues, en
principio todas las matrices son de una dimensión, la
dimensión principal, pero veremos que los elementos
de esta fila pueden ser a su vez matrices.
En general, una matriz es un conjunto ordenado en
una estructura de filas y columnas. Los elementos de
este conjunto pueden ser objetos matemáticos de muy
variados tipos.
5
6. include<conio.h>
include<stdio.h>
Int
Char
include<math.h>
Scanf
Printf
Void main
6
7. Sintaxis
La declaración de matrices sigue la siguiente sintaxis:
tipoX etiqueta [<expr-const>]
tipoX es el tipo de los elementos que serán
almacenados en la matriz. Puede ser cualquier type-id
( 2.2) válido a excepción de void y de funciones (no
pueden existir matrices de funciones, pero sí de
punteros-a-función).
etiqueta es el identificador
<expr-const>: una expresión cuyo resultado debe ser
una constante entera positiva n distinta de cero, que
es el número de elementos de la matriz. Los
elementos están numerados desde 0 hasta n-1.
7
8. int a[10]; // declara una matriz de 10
elementos enteros
char ch[10] // ídem de 10 elementos
char
char* p[10] // ídem de 10 elementos
puntero-a-carácter.
struct St mst[10] // ídem de 10 elementos
estructuras tipo St
8
9. Una matriz puede
ser unidimensional, multidimensional o escalonada.
El valor predeterminado de los elementos numéricos de
matriz se establece en cero y el de los elementos de
referencia se establece en null.
Una matriz escalonada es una matriz de matrices y por
consiguiente sus elementos son tipos de referencia y se
inicializan en null.
Las matrices se indizan basadas en cero: una matriz
con n elementos se indiza desde 0 hasta n-1.
Los elementos de una matriz pueden ser de cualquier
tipo, incluido el tipo matriz.
Los tipos de matriz son tipos de referencia derivados del
tipo base abstracto Array. Puesto que este tipo
implementa IEnumerable e IEnumerable(Of T), puede
utilizar la iteración foreach en todas las matrices de C#.
9
11. Matriz cuadrada: Es aquella que tiene el mismo número de filas
que de columnas, es decir m = n. En
estos casos se dice que la matriz cuadrada es de orden n, y no
n × n. Los elementos aij
con i = j, o sea aii
forman la llamada diagonal principal de la matriz cuadrada, y
los
elementos aij
con i + j = n +1 la diagonal secundaria.
Matriz traspuesta: Dada una matriz A, se llama traspuesta de A,
y se representa por A
t
, a la matriz que se
obtiene cambiando filas por columnas. La primera fila de A es la
primera fila de A
t
, la segunda fila de A es
la segunda columna de A 11
12. Para ingresar datos se necesita la
siguiente sentencia;
SCANF: Nos permite ingresar datos de tipo
entero.
EJEMPLO:
scanf(“%d”,&matriz[i ] [j ]);
12
13. Para imprimir datos en una matriz se
necesita la siguiente sentencia:
PRINTF: Provee una descripción de la
salida, con placeholders marcados por
caracteres de escape "%", para
especificar la localización relativa y el
tipo de salida que la función debe
producir.
EJEMPLO:
13
14. Una zona de almacenamiento continuo,
que contiene una serie de elementos del
mismo tipo, los elementos de la matriz.
Desde el punto de vista lógico una matriz
se puede ver como un conjunto de
elementos ordenados en fila (o filas y
columnas si tuviera dos dimensiones).
En principio, se puede considerar que todas
las matrices son de una dimensión, la
dimensión principal, pero los elementos de
dicha fila pueden ser a su vez matrices (un
proceso que puede ser recursivo), lo 14que
18. Almacenar los elementos del array en
posiciones de memoria contínua.
- Tener un único nombre de variable que
representa a todos los elementos, y éstos a su
vez se diferencian por un índice o subíndice.
- Acceso directo o aleatorio a los elementos
individuales del array.
todos los arrays son de tamaño variable, tanto
si se especifica como no un tamaño al ser
declarados
Para ver el contenido de los arrays según van
siendo ejecutadas las líneas de código que los
declaran, utilizaremos la ventana Locales del
18
20. Un array de una dimensión
(unidimensional), también
llamado vector o fila, es un tipo
de datos estructurado compuesto de un
número determinado de elementos, de
tamaño fijo y elementos homogéneos (del
mismo tipo). La característica de tamaño
fijo se refiere a que el tamaño del array
debe ser conocido en tiempo de
compilación.
Por ejemplo, si deseamos conservar las
20
21. Un array bidimensional (también llamado
tabla o matriz) es un array con dos índices.
Al igual que los vectores deben ser
ordinales. Se declaran de igual manera
que los arrays de una dimensión.
Un array bidimensional recoge valores de
una tabla de doble entrada. Cada uno de
los elementos se identifica y se asigna
mediante una variable ($nombre) seguida
de dos ([]) que contienen los índices del
array.
Los índices puede ser escalares - 21
22. Para ingresar datos en un vector
necesitamos la siguiente sintaxis:
Scanf.-Nos permite ingresar datos a un
vector.
scanf(“%d”,&vector[i]);
22
23. Para imprimir datos en un vector
necesitamos la siguiente sintaxis:
PRINTF.-Permite imprimir datos de tipo
entero en un vector.
printf(“%d”, vector[i]);
23
24. Bueno, la principal diferencia es que el
vector es así como una sola línea de „n‟
datos, comparado con el vector que
son „m‟ líneas de „n‟ datos, la idea es
imaginarse el vector como una de esas
cajitas de huevos que tienen una sola
línea, donde en cada espacio va un
huevo…
En cambio las matrices son así como un
vector metido dentro de otro vector, me
24
25. ENUNCIADO;
Diseñe un programa que me permita
ingresar n elementos en una matriz
cuadrática.
25
26. #include <conio.h>
#include <stdio.h>
void main()
{
int matriz[10][10];
int op,i,j,limite,col=10,fil=10;
do{
clrscr();
gotoxy(19,4);printf("**MATRIZ DE ORDEN CUADRADA**");
gotoxy(19,5);printf("**INGRESE EL LIMITE**");scanf("%d",&limite);
for(i=1;i<=limite;i++)
{
for(j=1;j<=limite++)
{
26
35. ENUNCIADO;
Diseñe un programa que me permita
generar n múltiplos de cualquier factor
ingresado desde teclado que se
encuentre dicho factor entre 2 y 9, la
matriz es
de orden cuadrática se visualiza la
entrada y la salida.
35
36. #include <conio.h>
#include <stdio.h>
void main()
{
int matriz1[10][10],matriz2[10][10];
int fact , mul , op , i, j, limite , x=1,col=10,fil=10;
do{
clrscr();
gotoxy(19,4);printf("**MATRIZ DE ORDEN CUADRATICA CON
MULTIPLOS**");
gotoxy(19,5);printf("**INGRESE EL LIMITE**");scanf("%d",&limite);
do{
gotoxy(36,10);printf(" ");
gotoxy(19,7);printf("**INGRESE EL
FACTOR**");scanf("%d",&fact);
}
while(fact<=2 || fact>=9);
for(i=1;i<=limite;i++)
{
for(j=1;j<=limite++) 36
52. ENUNCIADO:
Realice un programa que me permita
realizar un menú de opciones el cual me
pida lo siguiente:
Números primos
Serie de fibonaci
Guardar las posiciones pares e impares en
un vector en forma ordenada.
Ordenar los datos de una matriz en forma
52
53. #include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
int opcion,op,r,N, vec1[10], mat[10][10],vecPares[100], vecImpares[100], mat[10][10],aux,p=0,
ip=0,m1[5][5],m[10][10],k,j,f,fil,a=0, lim, b=0,c,n,op,g,res,nc,c1,c2,x,y,i,col=1,fila=1,n;
void main() {
Do {
col=1,fila=1;
clrscr();
gotoxy(25,5);printf("********MENU DE OPCIONES*********");
textcolor(1);
gotoxy(5,8);cprintf("1.- MATRIZ CUADRATICA DE NUMEROS PRIMOS: ");
gotoxy(5,11);cprintf("2.- MATRIZ CUADRATICA CON LA SERIE DE FIBONACCI: ");
gotoxy(5,14);cprintf("3.- MATRIZ Y VECTOR : ");
gotoxy(5,17);cprintf("4.- MATRIZ EN FORMA ASCENDENTE : ");
fila=2,col=0;
for(i=1;i<=25;i++)
{
gotoxy(1,i);printf("®");
gotoxy(80,i);printf("®");
}
for(i=1;i<=80;i++)
{
gotoxy(i,2);printf("¯");
gotoxy(i,25);printf("¯");
}
53