Diferencias entre las revisiones 20 y 21
Versión 20 con fecha 2014-07-19 14:58:28
Tamaño: 5195
Editor: FabioDuran
Comentario:
Versión 21 con fecha 2014-07-19 15:00:25
Tamaño: 5243
Editor: FabioDuran
Comentario:
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 43: Línea 43:
Ejemplo: Agregar elementos por pantalla y mostrar el arreglo resultante. '''Ejemplo:''' Agregar elementos por pantalla y mostrar el arreglo resultante.
Línea 64: Línea 64:
Para recorrer un arreglo lo podemos hacer usando un ciclo iterativo que incrementará la posición en 1 de las posiciones. En el ejemplo anterior podemos visualizar el ciclo FOR, pero también podemos crear un ciclo WHILE. Para recorrer un arreglo lo podemos hacer usando un ciclo iterativo que incrementará la posición en 1 de las posiciones. En el ejemplo anterior podemos visualizar el ciclo FOR, pero también podemos crear un ciclo WHILE para recorrer nuestro arreglo.
Línea 120: Línea 120:
Ejemplo: Agrega elementos en una matriz de 2 filas y 3 columnas usando el ciclo FOR '''Ejemplo:''' Agrega elementos en una matriz de 2 filas y 3 columnas usando el ciclo FOR
Línea 147: Línea 147:
Ejemplo: Agrega elementos en una matriz de 2 filas y 3 columnas usando el ciclo WHILE '''Ejemplo:''' Agrega elementos en una matriz de 2 filas y 3 columnas usando el ciclo WHILE

Arreglos

Un arreglo es una estructura de datos, o más técnicamente, un espacio de memoria que permite almacenar varios elementos de un mismo tipo. Esto quiere decir que si decidimos guardar un dato de tipo char, toda la estructura debe ser de tipo char.

A veces es más fácil imaginar, entender o mirar un arreglo como una secuencia contigua de casillas y en cada una se puede guardar un elemento.

Además, es usual dibujarlo de la siguiente forma, donde la fila superior indica los datos y la segundo solo indica la posición:

"hola"

"mundo"

"estamos"

"estudiando"

1

2

3

4

En donde en cada una de las casillas tenemos un dato almacenado y todos con una posición.

Por ejemplo la posición 0 corresponde a la palabra "hola", la posición 1 a "mundo"... etc.

Cada una de las "casillas" de un arreglo tiene asociado un número que la identifica de manera única. A esto se le llama índice o dirección. En la figura anterior, debajo de cada casilla, aparece su índice. En el lenguajes C, la primera casilla del arreglo tiene índice 0, la segunda tiene índice 1, la tercera índice 2, y así sucesivamente. Es muy importante tener presente que si el arreglo es de dimensión N, la última casilla tiene índice N-1.

La forma de declarar un arreglo es la siguiente:

tipo_dato nombre_arreglo [tamaño]

En donde: tipo_dato: El tipo de datos que contendrán todos los elementos del arreglo. nombre_arreglo: Es el nombre que tendrá el arreglo. [tamaño]: El tamaño o total de elementos.

Ejemplo C:

int ejemplo [10]
float numero [5]
char caracteres [7]
  • Un arreglo llamado ejemplo de 10 elementos de tipo enteros.
  • Un arreglo llamado numero de 5 elementos de tipo float.
  • Un arreglo llamado caracteres de 7 elementos de tipo char.

Ejemplo: Agregar elementos por pantalla y mostrar el arreglo resultante.

#include<stdio.h>
#include<stdlib.h>


int main(void){
    int x[10];
    int i;
    for (i=0; i <10; i=i+1){
        printf("De valor de x[%d]: ", i+1);
        scanf("%d",&x[i]);
    }
    for(i=0; i <10; i=i+1)
        printf("%3d", x[i]);
    return 0;
} 

Descargar el ejemplo

Para recorrer un arreglo lo podemos hacer usando un ciclo iterativo que incrementará la posición en 1 de las posiciones. En el ejemplo anterior podemos visualizar el ciclo FOR, pero también podemos crear un ciclo WHILE para recorrer nuestro arreglo.

#include<stdio.h>
#include<stdlib.h>


int main(void){
    int x[10];
    int i=0;
    while(i<10)
    {
        printf("De valor de x[%d]: ", i);
        scanf("%d",&x[i]);
        i++;
    }
    i=0;
    while(i<10)
    {
        printf("%3d", x[i]);
        i++;
    }
    return 0;
}

Descargar el ejemplo

De estos modos podemos llenar y recorrer los arreglos.

Arreglos bidimensionales

Anteriormente hemos visto lo que se conoce como arreglo unidimensional o vectores, ahora incursionaremos en dos dimensiones o las matrices.

Una matriz es un arreglo de M * N elementos, donde M es el número de filas y N el número de columnas.

La forma de declarar un arreglo es la siguiente:

tipo_dato nombre_arreglo [fila][columna]

En C:

La forma de declarar un arreglo es la siguiente:

int ejemplo [10][6]
float numero [5][3]
char caracteres [7][6]

Una matriz llamada ejemplo de 10 filas y 6 columnas de elementos tipo enteros. Una matriz llamada numero de 5 filas y 3 columnas de elementos de tipo float. Una matriz llamada caracteres de 7 filas y 6 columnas de elementos de tipo char.

Para recorrer y llenar una matriz debemos hacerlo usando dos ciclos, uno para recorrer las filas y otro para las columnas.

Ejemplo: Agrega elementos en una matriz de 2 filas y 3 columnas usando el ciclo FOR

#include <stdio.h>
#include <stdlib.h>

int main(void){
    int matriz[2][3], i, j;
    for (i=0; i<2; i++){
        for (j=0; j<3; j++){
            printf("Escriba un numero para la posicion [%i][%i] de la matriz ", i,j);
            scanf("%i", &matriz[i][j]);
        }
    }

    printf("Usted ingreso los siguientes datos en la matriz:\n");
        for (i=0; i<2; i++){
            for (j=0; j<3; j++){
                printf("La posicion [%i][%i] es: %d\n", i,j,matriz[i][j]);
            }
        }
    return 0;
}

Descarga ejemplo

Ejemplo: Agrega elementos en una matriz de 2 filas y 3 columnas usando el ciclo WHILE

#include <stdio.h>
#include <stdlib.h>

int main(void){
    int matriz[2][3], i=0, j=0;
    while(i<2)
    {
        while(j<3)
        {
            printf("Escriba un numero para la posicion [%i][%i] de la matriz ", i,j);
            scanf("%i", &matriz[i][j]);
            j++;
        }
        i++;
        j=0;
    }

    printf("Usted ingreso los siguientes datos en la matriz:\n");
    i=0;
    j=0;
    while(i<2)
    {
        while(j<3)
        {
            printf("La posicion [%i][%i] es: %d\n", i,j,matriz[i][j]);
            j++;
        }
        i++;
        j=0;
    }
    
    return 0;
}

Descarga el ejemplo

oci/lenguajec/arreglos (última edición 2014-07-19 15:00:25 efectuada por FabioDuran)