Friday 5 february 5 05 /02 /Feb 02:25

            Arreglos, Matrices o Arrays.

 

            Definiciones, y Características.

 

            - Un arreglo, matriz o array es una estructura de datos homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria.

 

            - Son estructuras en memoria que ayudan a almacenar múltiples elementos de datos que tienen una característica en común.

 

            - Conjunto de variables del mismo tipo que tienen el mismo nombre y se diferencian en el Índice.

 

            - A un arreglo se le referencia con un solo nombre, aunque puede tener múltiples elementos de datos.

 

            -  Los elementos de datos individuales pueden ser de cualquier tipo, tal como enteros, flotantes o caracteres.

 

- Dentro del arreglo, todos los elementos de datos deben ser de un solo tipo. Por ejemplo si se tienen un arreglo de 50 elementos, todos ellos deben ser de un mismo tipo, por ejemplo (int). No se pueden tener los primeros 20 elementos de tipo de datos int y el resto de ellos de tipo float.

Un array es un identificador que referencia un conjunto de datos del mismo tipo. Imagina un tipo de dato int; podremos crear un conjunto de datos de ese tipo y utilizar uno u otro con solo cambiar el índice que lo referencia. El índice será un valor entero y positivo. En 'C' los arrays comienzan por la posición 0.

Vectores

Un vector es un array unidimensional, es decir, solo usa un índice para referenciar a cada uno de los elementos.

 

Su declaración será:                      tipo nombre [tamaño];

 

El tipo puede ser cualquiera de los ya conocidos y el tamaño indica el número de elementos del vector (se debe indicar entre corchetes [ ]). En el ejemplo puedes observar que la variable i es utilizada como índice, el primer for sirve para rellenar el vector y el segundo para visualizarlo. Como ves, las posiciones van de 0 a 9 (total 10 elementos).

Tipos de Arreglos.

Arreglos Unidimensionales.

12

24

3

69

10

 

            Declaración de Arreglos Unidimensionales.

 

            Los arreglos se declaran como las variables de tipo int, float, char. Es necesario especificar el tamaño del mismo, para definir el número de elementos en el mismo.

            La forma general de declarar un arreglo es la siguiente:

           

Tipo_de_dato nombre_arreglo[dimensión];

Tipo_ de_ dato: Nombre dado al arreglo.

Nombre_arreglo: Nombre dado al arreglo.

Dimensión: El número de elementos que tiene el arreglo.

 

Al declarar un arreglo o array se reserva en memoria tantas variables del tipo_de_dato, como las indicadas en la dimensión.

 

Ejemplo. Suponga que es un meteorólogo y quiere guardar en el computador la temperatura que ha hecho cada hora del día. Para darle cierta utilidad al final calcular la media de las temperatura.


Código en C.

#include <stdio.h>

#define ELEMENTOS 24

int main()

{

  int temp[ELEMENTOS];

 float media=0;

 int hora;

for(hora=0; hora<ELEMENTOS; hora++)

{

   printf("Temperatura de las %i:", hora);

   scanf("%i", &temp[hora]);

   media+=temp[hora];

}

media=media/ELEMENTOS;

printf(" \n La Temperatura media es %f\n", media);

}

Inicializar un Arreglo.

En C se puede inicializar un arreglo a través de asignación, al igual que las variables.

int k, num[100];

for(k=0; k<100; k++)

num[k]=0;

(Todos los 100 elementos del arreglo son inicializados en 0).

También se puede inicializar un arreglo en el momento de declararlo (para arreglos pequeños).

int  num[5]= {12, 24, 11, 65, 80}

 

Ejemplo.

Leer la entrada del usuario dentro del arreglo.

Codificación en C.

#include <stdio.h>

 main()

{

  int k, num[5];

  for(k=0; k<100; k++)

{

printf (“Ingresar un valor entero para el elemento %d:”, k+1);

scanf(“%d”, &num[k]);

}

}

En este ejemplo directo, los valores de entrada se suministran del teclado para num[0], num[1], y así sucesivamente. Después que el bucle termino, se tiene un arreglo con los valores de entrada almacenados desde num[0] hasta num[9].

 

Programa para imprimir los valores de un arreglo.

#include <stdio.h>

 main()

{

 int k, num[100];

  for(k=0; k<100; k++)

       num[k]= k+1;

for(k=0; k<100; k++)

printf(“num[%d]=%d\n”, k, num[k]);

}

Este ejemplo imprime lo siguiente:

num[0]=1

num[1]=2

num[2]=3

.

.

.

num[99]=100

3) Ejemplo:

int num[100]; /*Arreglo de tipo entero compuesto de 100 posiciones*/

 

char nom[80]; /*Texto de 80 caracteres*/

 

float x[12]; /*arreglo de 12 elementos punto flotantes */


Ejemplo

Diseñe un programa que lea un vector de 10 posiciones, luego determine si la quinta posición es positiva, si la primera posición es negativa y si la última posición es cero.

#include <stdio.h>

#include <conio.h>

#define N 10

main()

   {

      float x[N];

      int i;

      for(i=0; i<N; i++)

             {

                printf("Ingrese el valor %d:\n", i);

                scanf("%f", &x[i]);

             }

      if(x[4]>0)

      {

             printf("La quinta Posici¢n es Positiva\n\n");

      }

      if(x[0]<0)

      {

             printf("La 1ø Posici¢n es Negativo\n\n");

      }

      if(x[N-1]==0)

      {

             printf("La Ultima Posici¢n es cero\n\n");

      }

 

      getch();

      return 0;

   }

 

Explicación

En este ejemplo estamos haciendo uso de la constante simbólica, de cuyos beneficios ya se habló. La definimos con 10 posiciones, recordando que C, empieza a contar desde cero.  Luego definimos el vector llamado x, como punto flotante, y ojo, que éste va acompañado de su dimensión. Luego haciendo uso de un for, empezamos a llenar el vector. Luego preguntamos si la posición cuatro es positiva. El lector se preguntará el por que, la instrucción es x[4] y no x[5], ya que; lo que queremos es averiguar, si la posición cinco es la positiva. Pues bien, la posición identificada con el número cuatro, es en efecto la que contiene el quinto número.

Por Prof.Luis Eduardo Aponte
Escribir un comentario - Ver los 0 comentarios
Volver a la página principal

Presentación

Crear un Blog

Calendario

September 2014
M T W T F S S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
<< < > >>
Crear un blog en OverBlog - Contacto - C.G.U - Remuneración por el programa "Gana con tu Blog" - Reportar un abuso - Artículos más comentados