top of page

DEFINICION DE ARREGLOS

Un arreglo, lista o tabla es una secuencia de datos del mismo tipo. Los datos se llaman elementos del arreglo y se numeran consecutivamente 0, 1, 2, 3, etc. El tipo de elementos almacenados en el arreglo puede ser cualquier tipo de dato de C, incluyendo estructuras definidas por el usuario, como se describirá más tarde. Normalmente el arreglo se utiliza para almacenar tipos como char, int o float. Un arreglo puede contener, por ejemplo, la edad de los alumnos de una clase, las temperaturas de cada día de un mes en una ciudad determinada, o el número de personas que residen en cada una de las 17 comunidades autónomas españolas. Cada item del arreglo se denomina elemento.

Al igual que con cualquier tipo de variable, se debe declarar un arreglo antes de utilizarlo. Un arreglo se declara de modo similar a otros tipos de datos, excepto que se debe indicar al compilador el tamaño o longitud del arreglo. Para indicar al compilador el tamaño o longitud del arreglo se debe hacer seguir al nombre, el tamaño encerrado entre corchetes. La sintaxis para declarar un arreglo de una dimensión determinada es:

areglo1.png
semana 7: Texto
areglo2.png

ARREGLOS UNIDIMENSIONALES

Los arreglos vistos anteriormente se conocen como arreglos unidimensionales (una sola dimensión) y se caracterizan por tener un solo subíndice. Estos arreglos se conocen también por el término listas. Los arreglos multidimensionales son aquellos que tienen más de una dimensión y, en consecuencia, más de un índice. Los arreglos más usuales son los de dos dimensiones, conocidos también por el nombre de tablas o matrices. Sin embargo, es posible crear arreglos de tantas dimensiones como requieran sus aplicaciones, esto es, tres, cuatro o más dimensiones.

El sistema para localizar un elemento será a través de las coordenadas representadas por su número de fila y su número de columna (a, b).

Los elementos de los arreglos se almacenan en memoria de modo que el subíndice más próximo al nombre del arreglo es la fila y el otro subíndice, la columna. En la tabla 8.1 se representan todos los elementos y sus posiciones relativas en memoria del arreglo, int tabla [4][2], suponiendo que cada entero ocupa 2 bytes

semana 7: Texto

EJEMPLO ARREGLO UNIDIMENSIONAL

PSEUDOCODIGO

Practica 34

//librerias

//Arreglos unidimensionales. Práctica 34

Entero principal() Inicio  

Entero datos[10], i 

//Llena el arreglo con elementos

desde(i←0; i<=9; inc i) Inicio

imprimir("Dame el elemento", i)     

leer(datos[i]) Fin

//Muestra los elementos del arreglo en sentido inverso

desde(i←9; i>=0; dec i)        

imprimir("El elemento es ", i, datos[i])

regresa 0 Fin


CÓDIGO

Practica 34

#include<stdio.h>

#include<stdlib.h>

//Arreglos unidimensionales. Práctica 34

int main() {  

int datos[10], i; 

//Llena el arreglo con elementos

for(i=0; i<=9; i++){  

printf("Dame el elemento %d\n", i);     

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

//Muestra los elementos del arreglo en sentido inverso

for(i=9; i>=0; i --)        

printf("El elemento %d es %d\n", i, datos[i]);

return 0;}

semana 7: Texto
areglo3.png

ARREGLO DE MÁS DE DOS DIMENSIONES

Un arreglo tridimensional se puede considerar como un conjunto de arreglos bidimensionales combinados juntos para formar, en profundidad, una tercera dimensión. El cubo se construye con filas (dimensión vertical), columnas (dimensión horizontal) y planos (dimensión en profundidad). Por consiguiente, un elemento dado se localiza especificando su plano, fila y columna. Una definición de un arreglo tridimensional equipos es:
int equipos[3][15][10];

semana 7: Texto

EJEMPLO DE MATRICES

PSEUDOCODIGO

// Práctica 39

Principal

Inicio

Entero matriz[4][4], i, j

Desde (j ← 0; j <= 3; inc j)

                Desde (i ← 0; i <= 3; inc i)

Inicio

Imprimir (“Dame el elemento i, j del arreglo bidimensional”)

Leer(matriz[i][j])

Fin

Desde(j ← 0; j<=3; inc j)

                Desde (i ← 0; i <= 3; inc i)

Inicio

Imprimir (“El elemento i, j es matriz[i][j]”)

Fin

Fin


CÓDIGO

// Práctica 39

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]) {

int matriz[4][4], i, j;

//Práctica 39. Llena arreglo

for(j=0; j<=3; j++)

for(i=0; i<=3; i++){

printf(“Dame el elemento %d,%d del arreglo bidimensional\n”,i,j);

scanf(“%d”,&matriz[i][j]); }

//Muestra arreglo

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

for(j=0; j<=3; j++) {

printf(“El elemento %d, %d es %d \n”, i, j, matriz[i][j] ); }

return 0; } 

semana 7: Texto

PASO DE CADENAS COMO PARÁMETROS

Las cadenas se declaran como los restantes tipos de arreglos. El operador postfijo [ ] contiene el tamaño máximo del objeto. El tipo base, naturalmente, es char, o bien unsigned char
El tipo unsigned char puede ser de interés en aquellos casos en que los caracteres especiales presentes puedan tener el bit de orden alto activado. Si el carácter se considera con signo, el bit de mayor peso (orden alto) se interpreta como bit de signo y se puede propagar a la posición de mayor orden (peso) del nuevo tipo.

semana 7: Texto

EJEMPLO DE CADENAS

PSEUDOCODIGO

//Práctica 45

//librerias

define TAM 10

entero principal() Inicio

caracter letra[TAM] entero c

desde(c←0;c<TAM; inc c)

                letra[c] ←getchar()

desde(c←0;c<TAM; inc c)

                poner carácter(para poner (letra[c]))

sistema("PAUSA") Fin


CÓDIGO

#include<stdio.h> //Práctica 45

#include<ctype.h>

#define TAM 10

int main() {

char letra[TAM];int c;

for(c=0;c<TAM;++c)

                letra[c]=getchar();

for(c=0;c<TAM;++c)

                putchar(toupper(letra[c]));

system("PAUSE");}

semana 7: Texto
16630264.jpg
semana 7: Imagen
bottom of page