miércoles, 10 de agosto de 2011

Programación en C++/ Estructura I.. "Matrices o Arreglos "

Matrices o Arreglos
 Una Matriz (en inglés, array, también denominado arreglo) es una estructura usada para agrupar bajo un mismo nombre  listas de datos de un mismo tipo.

El tipo de matriz puede ser cualquiera, sin embargo cada componente tiene que ser del mismo tipo. En C estándar solamente da soporte para matrices estáticas, mientras que con C++ se pueden crear matrices dinámicas pudiendo usar la librería estándar de plantillas (STL).

-Matrices estáticas
 Una matriz estática es una estructura cuyo tamaño es determinado en tiempo de compilación, es decir, una vez establecido el tamaño de la matriz ésta no podrá cambiarse durante el tiempo de ejecución. En C, C++ para declarar un arreglo estático de datos se emplea la sintaxis:

tipo identificador[ [tamaño] ] [ = { lista de inicialización } ] ;
donde,
tipo se refiere al tipo de datos que contendrá la matriz. El tipo puede ser cualquiera de los tipos estándar (char, int, float, etc.) o un tipo definido por el usuario. Es más, el tipo de la matriz puede ser de una estructura creada con: struct, union y class.
§  identificador se refiere al nombre que se le dará a la matriz.
tamaño es opcional e indica el número de elementos que contendrá la matriz. Si una matriz se declara sin tamaño, la misma no podrá contener elemento alguno a menos que en la declaración se emplee una lista de inicialización.
lista de inicialización es opcional y se usa para establecer valores para cada uno de los componentes de la matriz. Si la matriz es
§  declarada con un tamaño especifíco, el número de valores inicializados no podrá ser mayor a dicho tamaño.
Ejemplos:
int  intA[5];
long longA[5]={1, 2, 3, 4, 5};
char charA[]={'a', 'b', 'c'};

-Acceso a los miembros de una matriz de datos:
En orden de acceder a los miembros de una matriz se debe indicar el nombre de la matriz seguido de dos corchetes, dentro de los cuales se debe especificar el índice del elemento deseado. Se debe aclarar que los índices son números o expresiones enteras y que en C, C++ estos tienen un rango permitido de 0 a T-1 ( T = tamaño de la matriz ).
Ejemplos: dadas las matrices intA, charA, longA ( ejemplo anterior )
intA[0]=100;// establece el valor del elemento 0 de intA a 100.

charA[3]='O';// establece el valor del elemento 3 de charA a 'O'.

cout<< longA[0];// muestra por pantalla el elemento 0 de longA, que es longA[0].

-Matrices dinámicas
Una matriz dinámica es una estructura compleja y, ya que C estándar no da el soporte para operar con estos tipos de estructuras, le corresponde al programador crear los algoritmos necesarios para su implementación. Crear lista dinámicas de datos en C estándar no es una tarea para programadores inexpertos, ya que para lograr tal objetivo se necesita tener conocimentos solidos acerca de los punteros y el comportamiento de los mismos. Los usuarios de C++ pueden auxiliarse de la librería estándar de plantillas, conocidas por sus siglas en ingles como STL.


No hay comentarios:

Publicar un comentario