sábado, 8 de diciembre de 2012

Arrays (Arreglo)

Arrays (Arreglos):

          Es un conjunto de datos del mismo tipo, ordenados en forman líneal uno después de otro. Los componentes de un array se han de referenciar por medio del nombre del array y un índice de desplazamiento para indicar el componente deseado.

         Los arrays son usados extensamente por los programadores para contener listas de datos en la memoria, los datos almacenados en un disco suelen leerse y ponerse dentro de un array con el objetivo de facilitar la manipulación de dichos datos, ya que los datos en memoria pueden ser modificados, clasificados, marcados para su eliminacion, etc. para luego ser reescritos al disco. 

Indices de un array
 
          Los índices son números que se utilizan para identificar a cada uno de los componentes de un array. 

Dimensiones de un array

            De acuerdo a la forma en que se construye o declara un array, éste puede ser clasificado como: unidimensional, bidimensional y multidimensional. Los arrays que se emplean con mucha más frecuencia son los estructurados a manera de vector (array unidimensional ) y los estructurados a manera de matriz (array bidimensional ).

Array unidimensional

                Una array uni-dimensional es aquel en donde los componentes son accesibles por medio de uno y solamente un índice que apunte al componente requerido. Los arrays de este tipo son conocidos también con el nombre de vectores. 

                  En C++ los arrays están basados en 0 ( cero ), es decir, el primer elemento de un array se comienza mediante el 0, y el índice para el último de los elementos es igual al número de componentes menos uno.

+------+
| dato | <-- componente 0, ( fila 0 )
|------|
| dato | <-- componente 1, ( fila 1 )
|------|
| dato | ...
|------|
| dato | ...
|------|
| dato | ...
|------|
| dato | ...
|------|
| dato | <-- componente 6, ( fila 6 )
|------|
 
 

Array bidimensional

                        Una array bi-dimensional es aquel en donde los componentes son accesibles por medio de una pareja de índices que apunten a la fila y a la columna del componente requerido. Los arrays de este tipo son conocidos también con el nombre de matrices.

           C O L U M N A S  

        +--- componente ( 0, 0 )
        |
    +------+------+------+------+
    | dato | dato | dato | dato |
    |------|------|------|------|
 F  | dato | dato | dato | dato |
    |------|------|------|------|
 I  | dato | dato | dato | dato |
    |------|------|------|------| 
 L  | dato | dato | dato | dato |
    |------|------|------|------|
 A  | dato | dato | dato | dato |
    |------|------|------|------|
 S  | dato | dato | dato | dato |
    |------|------|------|------|
    | dato | dato | dato | dato |
    +------+------+------+------+
                             |
                             +---- componente ( 6, 3 )
  
 APLICACION DE ARRAYS UNIDIMENSIONAL
 
#include <stdio.h>
#include <stdlib.h>
 
#define FILAS 7
 
int main()
{
    float ventas[FILAS] = {
    123.50, 234.60, 345.45, 321.40, 345.00, 456.65, 0.0 };
 
    float total = 0;
    int i;
 
    puts("Ventas de la semana");
    puts("-------------------");
 
    for (i=0; i<FILAS; i++) {
        total += ventas[i];
        printf( "%8.2f\n", ventas[i] );
    }
 
    puts("--------");
    printf("%8.2f\n", total );
 
    system("pause");
    return 0;
}
 
Esta es la salida del programa:
Ventas de la semana
-------------------
  123.50
  234.60
  345.45
  321.40
  345.00
  456.65
    0.00
--------
 1826.60 
 
APLICACION DE ARRAYS BIDIMENSIONAL 
#include <stdio.h>
#include <stdlib.h>
#define FILAS 7
#define COLS 4
 
int main()
{
    float VentaSemanaQ[FILAS][COLS] = {
    123.50, 234.60, 345.45, 321.40,
    345.00, 456.65, 123.50, 234.60,
    345.45, 321.40, 345.00, 456.65,
    123.50, 234.60, 345.45, 321.40,
    345.00, 456.65, 123.50, 234.60,
    345.45, 321.40, 345.00, 456.65,
    0.0, 0.0, 0.0, 0.0 };
 
    float totales[COLS] = { 0.0, 0.0, 0.0, 0.0 };
    float grantotal = 0;
 
    int f, c, t = 0 ; /* indices para filas, columnas y totales */
 
    puts("Ventas de cuatro semanas");
    puts("------------------------");
 
    for (f=0; f<FILAS; f++) {
        for (c=0; c<COLS; c++) {
            totales[c] += VentaSemanaQ[f][c];
            printf("%8.2f  ", VentaSemanaQ[f][c] );
        }
        puts("");
    }
 
    puts("--------------------------------------");
    for (t=0; t<COLS; t++) {
        printf("%8.2f  ", totales[t] );
        grantotal += totales[t];
    }
 
    printf("\n\nGran total: %10.2f\n", grantotal);
    system("pause");
    return 0;
}
 
 
Salida del programa:
 
Ventas de cuatro semanas
------------------------
  123.50    234.60    345.45    321.40
  345.00    456.65    123.50    234.60
  345.45    321.40    345.00    456.65
  123.50    234.60    345.45    321.40
  345.00    456.65    123.50    234.60
  345.45    321.40    345.00    456.65
    0.00      0.00      0.00      0.00
--------------------------------------
 1627.90   2025.30   1627.90   2025.30
 
Gran total: 7306.40

 
 

No hay comentarios.:

Publicar un comentario