Transcript

Gua 2 de programacin en Lenguaje C

Gua 2 de programacin en Lenguaje C

Tipos de Datos Estructurados en C

ARREGLOS

Un arreglo es una estructura de datos esttica formada por una coleccin o conjunto fijo de elementos o componentes del mismo tipo.

Se define esttica porque el tamao de dicha estructura se especifica al declararla y una vez establecido este tamao, ya no puede ser modificado durante la ejecucin del programa.

En C se puede trabajar con los siguientes tipos de arreglos:

- Arreglos Unidimensionales o Lineales (Vectores)

- Arreglos Multidimensionales.

A continuacin se ver cada uno de ellos.

ARREGLOS UNIDIMENSIONALES O LINEALES (VECTORES):

Es un conjunto de elementos representados en forma lineal, en el cual existe una nica fila y N nmero de columnas.

Declaracin de un Arreglo Unidimensional:

Al declarar un arreglo se define el tipo de componente, nombre del arreglo y el tamao (tambin llamado orden del arreglo) encerrado entre corchetes.

Sintaxis:

[];

En donde, es el tipo de dato de los elementos del arreglo (ejemplo: int, float, char), es el nombre de la variable tipo arreglo a declarar; es el tamao del arreglo que especifica la cantidad de elementos.

Ejemplo:

int notas[5];

El ejemplo anterior declara la variable notas como un arreglo de 5 elementos de tipo int.

Para una mejor comprensin, grficamente, podramos verlo de la siguiente forma:

0 1 2 3 4

notas

Cada elemento del arreglo tiene un subndice o posicin que permite acceder directamente a un elemento. Los subndices en lenguaje C empiezan en 0 (cero) y terminan en n-1, donde n es el tamao del arreglo. Es decir, si el arreglo notas tiene un tamao 5, el primer elemento del arreglo est en la posicin 0 y el ltimo elemento est en la posicin 4.

Ejemplo:

char nombres[20];

El ejemplo anterior declara un string de tamao 20, que es un arreglo de 20 caracteres.

Ejemplo:

#define MAX 10

float sueldos[MAX];

El ejemplo anterior declara la variable sueldos como un arreglo de 10 elementos de tipo float. Se utiliz la directiva #define para definir un nombre simblico (MAX) para el tamao del arreglo (10). Observe que esta instruccin no finaliza con punto y coma (;).

Ejemplo:

#define CINCO 5

int num[CINCO] = {12, 24, 2, 41, 7};

En el ejemplo anterior se ha inicializado un arreglo al momento de declararlo (normalmente para arreglos pequeos).

Acceder a un elemento del Arreglo:

Cada elemento del arreglo puede ser accedido directamente colocando el nombre del arreglo, seguido por el subndice (o posicin) encerrado entre corchetes.

Ejemplo:

notas[0] = 18;

En el ejemplo anterior, se asigna el valor 18 al arreglo notas en la posicin 0, es decir, el primer elemento del arreglo notas es un 18.

Los elementos de un arreglo pueden leerse, asignarse, imprimirse y/o formar parte de una expresin, siempre que se indique el subndice.

Ejercicio N 1:

Declare un arreglo de cinco elementos llamado tabla. Cargarlo con los nmeros del 1 al 5 y mostrarlo.

#include

#include

#define MAX 5

main()

{

int tabla[MAX];

int i;

clrscr(); /* Limpia la pantalla */

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

tabla[i] = i + 1;

printf ("Los elementos de la tabla son: \n");

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

printf ("%d ", tabla[i]);

printf ("\n");

printf ("Presione Enter, para salir..."); getche();

return;

}

Nota: En el ejercicio anterior se pudo haber inicializado el arreglo al momento de declararlo.

int tabla[MAX] = {1, 2, 3, 4, 5};

Ejercicio N 2:

Leer 10 nmeros enteros en un arreglo. Imprimir los elementos que sean nmeros impares.

#include

#include

#define MAX 10

main()

{

int num[MAX], i;

clrscr(); /* Limpia la pantalla */

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

{

printf ("Introduzca un numero entero: ");

scanf ("%d", &num[i]);

}

printf ("Los numeros impares son: \n");

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

{

if ((num[i] % 2) != 0) /* si el resto no es cero */

printf ("%d ", num[i]);

}

printf ("\n");

printf ("Presione Enter, para salir..."); getche();

return;

}

Ejercicio N 3:

Leer 5 nmeros enteros en un arreglo. Se pide:

a) Mostrar el arreglo.

b) Invertir el arreglo y mostrarlo.

#include

#include

#define MAX 5

main()

{

int arreglo[MAX], i, primer, ultimo, aux;

clrscr(); /* Limpia la pantalla */

for (i = 0; i


Top Related