Este documento define y explica los conceptos de vectores, matrices y arreglos multidimensionales en C. Los vectores son arreglos unidimensionales que almacenan elementos del mismo tipo contiguamente en memoria. Las matrices son arreglos bidimensionales organizados en filas y columnas. Los arreglos multidimensionales tienen tres o más dimensiones. El documento explica cómo declarar, inicializar y acceder a los elementos individuales de vectores y matrices usando índices.
La mayor parte de la información útil en la práctica, no aparece en forma de datos simples aislada de otro tipo de datos, al contrario, aparece de forma estructurada y organizada. Las enciclopedias, diccionarios, revistas, libros en general, son colecciones de datos que serían complejos por no decir imposibles de leer si no hicieran parte de una organización lógica con determinadas reglas.
El agrupar la información y poner en ella una estructura facilita su acceso, administración y hace aún más importante y relevante su contenido. Por ello la importancia de una estructura de datos frente a otra, ya que en el momento de la programación es decisivo el algoritmo a utilizarse para la resolución de determinado problema recordando siempre la ecuación:
"PROGRAMACION = ESTRUCTURA DE DATOS + ALGORITMOS"
En el desarrollo de este ensayo, tendremos la oportunidad de ver las ventajas de estructurar la información de acuerdo a reglas básicas establecidas. Se presentará la forma de catalogación de los datos en estructuras estáticas y dinámicas.
La mayor parte de la información útil en la práctica, no aparece en forma de datos simples aislada de otro tipo de datos, al contrario, aparece de forma estructurada y organizada. Las enciclopedias, diccionarios, revistas, libros en general, son colecciones de datos que serían complejos por no decir imposibles de leer si no hicieran parte de una organización lógica con determinadas reglas.
El agrupar la información y poner en ella una estructura facilita su acceso, administración y hace aún más importante y relevante su contenido. Por ello la importancia de una estructura de datos frente a otra, ya que en el momento de la programación es decisivo el algoritmo a utilizarse para la resolución de determinado problema recordando siempre la ecuación:
"PROGRAMACION = ESTRUCTURA DE DATOS + ALGORITMOS"
En el desarrollo de este ensayo, tendremos la oportunidad de ver las ventajas de estructurar la información de acuerdo a reglas básicas establecidas. Se presentará la forma de catalogación de los datos en estructuras estáticas y dinámicas.
La “especialidad” de MATLAB es trabajar con vectores y matrices, pero MATLAB puede también trabajar con otros tipos de datos:
Conjuntos o cadenas de caracteres.
Estructuras, o agrupaciones bajo un mismo nombre de datos de naturaleza diferente.
Vectores o matrices de celdas (cell arrays).
En MATLAB las matrices escalares, vectoriales y bidimensionales se usan para almacenar datos. En realidad, todas ellas son bidimensionales. Por tanto, aun cuando A=1; crea un escalar, B=1:10; crea un vector y C=[1,2,3;4,5,6]; crea una matriz bidimensional, todas ellas son todavía arreglos bidimensionales.
La “especialidad” de MATLAB es trabajar con vectores y matrices, pero MATLAB puede también trabajar con otros tipos de datos:
Conjuntos o cadenas de caracteres.
Estructuras, o agrupaciones bajo un mismo nombre de datos de naturaleza diferente.
Vectores o matrices de celdas (cell arrays).
En MATLAB las matrices escalares, vectoriales y bidimensionales se usan para almacenar datos. En realidad, todas ellas son bidimensionales. Por tanto, aun cuando A=1; crea un escalar, B=1:10; crea un vector y C=[1,2,3;4,5,6]; crea una matriz bidimensional, todas ellas son todavía arreglos bidimensionales.
1. CUADERNO DIGITAL
DEFINICIONES GENERALES
ARREGLOS
(VECTORES Y MATRICES)
Introducción.
Los vectores y matrices son uno de los medios principales mediante
los cuales se almacenan los datos en un programa. En esta práctica
veremos todos los conceptos relativos a la creación y manejo en C de
vectores, matrices y cadenas de caracteres.
Un Arreglo es una estructura de datos que almacena bajo el mismo
nombre (variable) a una colección de datos del mismo tipo.
Los arreglos se caracterizan por:
Almacenan los elementos en posiciones contiguas de memoria
Tienen un mismo nombre de variable que representa a todos
los elementos. Para hacer referencia a esos elementos es
necesario utilizar un índice que especifica el lugar que ocupa
cada elemento dentro del archivo.
Acceso directo o aleatorio a los elementos individuales del
arreglo. Ej: Notas[5]=15;
Tipo de Arreglos
2. Unidimensionales, también llamados Vectores o listas
Bidimensionales, denominados tablas o Matrices
Multidimensionales, con tres o más dimensiones
3. Vectores
Un arreglo de una dimensión (vector o lista) es un tipo de datos
estructurado compuesto de un número de elementos finitos,
consecutivos de tamaño fijo y elementos homogéneos.
Finito indica que el arreglo tiene un número determinado de
elementos. Consecutivo que se almacena en posiciones consecutivas
de memoria, Tamaño Fijo significa que el tamaño del arreglo debe
ser conocido en tiempo de compilación, Homogéneo significa que
todos los elementos son del mismo tipo.
Como hemos dicho, el vector es un arreglo de “N” elementos
organizados en una dimensión donde “N” recibe el nombre de
longitud o tamaño del vector.
4. Para hacer referencia a un elemento del vector se usa el nombre del
mismo, seguido del índice (entre corchetes), el cual indica una
posición en particular del vector. Por ejemplo:
Vec[x]
Donde:
Vec………… Nombre del arreglo
x…………… Numero de datos que constituyen el arreglo
Cada localidad almacena un elemento del vector.
En C los elementos de un vector están numerados desde 0 hasta N-1.
Algunos otros lenguajes comienzan en 1
Notación algorítmica
Tipo_De_Dato Nombre_Del_Vector [número_Elementos]
ejemplo:
entero notas[43]
caracter codigo[4]
Notación en lenguaje C
Tipo_De_Dato Nombre_Del_Vector [número_Elementos]
ejemplo:
int notas[43];
char codigo[4];
Acceso a los elementos de un Vector
Para manejar cualquiera de los elementos de un vector se utilizan los
subíndices. Por ejemplo para asignar un valor al primer elemento de
un vector se utiliza la siguiente sentencia:
5. numeros[0] = 20;
El valor del subíndice puede variar entre 0 y N-1, siendo N el tamaño
del vector, es decir, el número de elementos que tiene el vector.
El subíndice puede ser construido utilizando expresiones aritméticas
enteras. Por ejemplo:
notas[x-y+1] = 18;
En general para tener acceso al i-ésimo elemento de un vector se
utiliza:
vector[i-1]
El subíndice también puede estar conformado por contadores, este
caso se puede dar cuando los encontramos dentro de lazos. Por
ejemplo:
for (i=0; i<N; i++)
{
notas[i] = 18;
}
for (i=0; i<N; i++){
scanf(“%i”, num[i]);
}
Para acceder a un elemento del array:
nombre[i];
donde: 0 <= i < n
Por ejemplo, la declaración:
int A[4];
6. define un array de tipo entero de dimensión 4. Y ya podríamos
acceder al primer componente del array por medio de: A[0], al
segundo elemento por: A[1] y al último elemento por A[3].
En C, un array se utiliza básicamente cuando queremos tener, por
ejemplo, una secuencia de números reunidos en una sola variable.
Para inicializar un array, podemos hacer lo siguiente:
En programación, una matriz o vector (llamados en inglés arrays)
es 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).
Matriz
Es un arreglo de M * N elementos organizados en dos dimensiones
donde “M” es el numero de filas o reglones y “N” el numero de
columnas.
Para representar una matriz se necesita un nombre de matriz se
necesita un nombre de matriz acompañado de dos índices.
Mat [R,C]
Donde R indica el renglón y C indica la columna, donde se encuentra
almacenado el dato.
BIBLIOGRAFÍA
http://www.mitecnologico.com/Main/ArreglosVectoresYMatri
ces
7. « Non pudeat, quae nescieris, te velle doceri: scire aliquid laus est, cupa est nil
discere velle »
“Pregunta sin reparos lo que quieras saber: más que ignorar, es malo no querer
aprender”
Marco Porcio Catón (234-149 a.C.)
http://codigomaldito.blogspot.com/2005/11/arreglos-o-arrays-en-c.html
http://www.uco.es/grupos/eatco/informatica/metodologia/cadenasyarrays.p
df
http://c.conclase.net/curso/?cap=010
http://foro.noticias3d.com/vbulletin/showthread.php?t=201833
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/clases1/arays.h
tm
http://webdelprofesor.ula.ve/ingenieria/gilberto/pr1/clase16.pdf
http://www.josedomingo.org/web/mod/resource/view.php?id=835
http://es.wikipedia.org/wiki/Vector_%28inform%C3%A1tica%29#Forma_d
e_acceso
http://ronnyml.wordpress.com/2009/07/04/vectores-matrices-y-punteros-
en-c/
http://www.mis-algoritmos.com/ejemplos/indice-8.html
http://www.zator.com/Cpp/E4_3.htm
http://www.mitecnologico.com/Main/ArreglosVectoresYMatrices
Ejemplo:
main(){char cadena[60]; /* cadena de caracteresgets(cadena); /* función
de librería que lee la cadenaprintf("%s",cadena); /* imprimimos la cadena
en pantalla, desde cadena[/* hasta el que se encuentre el carácter
0printf("%c",cadena[1]); /* imprimimos el segundo caracter}