Arreglos en C/C++

>> //seccion/c/ -- 0 comentario /// Agregado el 2004-01-24 @ Por kaioken

Uso de arreglos en C/C++

Un arreglo es una serie de variables del mismo tipo y son representada por el mismo nombre más un valor numérico. Un ejemplo de declaración
de un arreglo de 15 variables de tipo 'int' es:

int num[15];

Esta declaración dice que 'num' es un arreglo con 15 elementos. Cada elemento se denomina como 'num[#]', donde '#' será un valor numérico de 0 a 14. De esta manera podremos almacenar el valor 256 al quinto elemento del arreglo de la siguiente manera:

num[4] = 256;

Fíjense de que el quinto elemento del arreglo es el indicado con el número 4, ya que sabemos que el arreglo se empieza a representar a partir del número 0. También se puede declarar e inicializar los elementos del arreglo asignandole entre llaves el conjunto de valores en el orden que se desea almacenar en el arreglo:

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

Con los arreglos podemos tener un conjunto de variables de un mismo tipo agrupadas en un solo nombre, lo cual puede ser muy útil para multiples aplicaciones las cuales sería muy difícil de sustituir si se piensa en hacerla sin arreglos. Un ejemplo de su uso sería el siguiente:

Imaginando que queremos pedir información al usuario y guardar esos valores en multiples variables,

- Sin arreglo se podría hacer así:
Codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php#include<stdio.h> 
#include<iostream.h> 

int main(void

    
int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10
    
scanf("%d", &num1); 
    
cin >> num2
    
scanf("%d", &num3); 
    
cin >> num4
    
scanf("%d", &num5); 
    
cin >> num6
    
scanf("%d", &num7); 
    
cin >> num8
    
scanf("%d", &num9); 
    
cin >> num10
    return 
0
?>


- Con arreglo se logra así:
Codigo:
1
2
3
4
5
6
7
8
9
<?php#include<stdio.h> 

int main(void

    
int inum[5]; 
    for(
i=0;i<10;i++) 
        
scanf("%d", &num<i>); 
    return 
0
}
?>


Nota:Se utiliza la función scanf() para pedir un valor digitado por el teclado y almacenado a la variable indicada, en el primer ejemplo también se utilizó la función cin que realiza la misma función que scanf().

En el primer ejemplo (sin arreglos) se puede observar la gran cantidad de código que se tiene que escribir para lograr una tarea tan sencilla, y eso es solo para 10 variables, imagínense si fuera para 100 ó 1,000 variables! Mientras, en el segundo ejemplo (utilizando arreglos) se puede apreciar que con un simple ciclo (for) y un arreglo indisado por la variable que controla al bucle se puede realizar la misma tarea sin importar cuantas veces se quiera pedir la información con solo dos líneas de código.

En el ejemplo se muestra un 'for' que estará corriendo hasta que la variable 'i' llegue hasta el valor 10 desde 0. Así de esta manera se puede
utilizar esa variable 'i' dentro de los corchetes del arreglo 'num[#]' para ir cambiando de variable mientras va transcurriendo el ciclo.

Otro uso importante que tiene los arreglos es la implementación de cadenas de caracteres o también llamados strings. Una cadena de caracteres no es más que un arreglo de valores de tipo char, pero con la diferencia de que el último valor del arreglo tendrá el valor del caracter nulo '', indicando el fin del string. Así que de esta manera, para declarar un arreglo para una cadena de caraceres de 20 caracteres, se tendrá que declarar como si fuera para 21 caracteres, ya que se tiene que tener un espacio extra para el caracter de fin de cadena ''.

Así podríamos manipular un arreglo para crear una cadena de caracteres y utilizarla, ejemplo:

Codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php#include<stdio.h> 

int main(void

    
char cadena[8]; 
    
cadena[0] = 'h'
    
cadena[1] = 'o'
    
cadena[2] = 'l'
    
cadena[3] = 'a'
    
cadena[4] = '0'
    
cadena[5] = 'x'
    
cadena[6] = 'y'
    
cadena[7] = 'z'
    
printf("%s, ¿cómo estas?"cadena); 
    return 
0
}
?>


Este código daría la siguiente salida:

hola,¿cómo estas?

La razón por lo que esto funciona así es porque la función printf() sabe que 'cadena' es una cadena de caracteres porque se lo hemos dicho al indicarle %s, entonces ella busca en el arreglo que le especificamos (cadena) y va imprimiendo los caracteres desde el primer elemento del arreglo, que es cadena[0] hasta encontrar el caractér '' en uno de sus elementos, después de encontrarlo, termina de imprimir ese string y continúa sin importar que exista más elementos de en arreglo de caracteres.