Diario de un programador.- Dia 90
Arreglos, vectores, arrays...
Para mostrar la sintaxis de los arreglos en C, me
basaré en los ejemplos propuestos en su oportunidad para el lenguaje Small
Basic (Capitulo 12) y puede que agregue algunos extras que se me ocurran en el
camino.
La sintaxis para crear un arreglo dice así:
TipoDeDato nombreDelArreglo[dimension]
TipoDeDato = Se refiere a que si será un arreglo
de tipo int, float, etc.
nombreDelArreglo[dimension] = Al igual que las
variables, los arreglos necesitan un nombre. Dimension se refiere a la cantidad
de elementos que puede tener el arreglo
Por ejemplo, para crear un arreglo de 4
elementos, se puede hacer así:
int edades[3];
El arreglo “edades” tiene 4 elementos.
A diferencia de Small Basic, el primer elemento
del arreglo es cero. O sea que en
este caso, el arreglo es...
edades[0]
edades[1]
edades[2]
edades[3]
El ejemplo mostrado a continuación, será un
promedio de 3 números, los cuales serán solicitados al usuario.
#include<stdio.h>
int main(void){
int suma = 0, promedio, i;
int numero[2];
printf("Ingresa 3 numeros: \n");
for(i
= 0; i <= 2; i++){
printf("Elemento nro %d: ", i+1);
scanf("%d", &numero[i]);
suma = suma + numero[i];
}
promedio = suma / 3;
printf("\nEl promedio es: %d\n",
promedio);
return 0;
}
Arreglos
1.1
En caso de que el programador quiera asignar valores al arreglo, esto se puede realizar de
la siguiente manera.
Sintaxis
tipoDeDato
nombreArreglo[] = {dato1, dato2, dato3... datoN};
En el ejemplo del código anterior, esto quedaría
así:
int
numero[] = {8, 12, 7};
Ejemplo:
#include<stdio.h>
int main(void){
int suma = 0, promedio, i;
int numero[] = {8, 12, 7};
for(i = 0; i < 3; i++){
suma =
suma + numero[i];
}
promedio
= suma / 3;
printf("\nEl promedio es: %d\n", promedio);
return 0;
}
Contenido actualizado Junio 2016
Nota: Si se omite el tamaño del arreglo como sucedió en el ejemplo
anterior, entonces el número de elementos del arreglo, corresponderá al largo
de este. Por ejemplo:
Los siguientes dos arreglos son equivalentes en su largo.
int numero[] = {8, 12, 7};
int numero[3] = {8, 12, 7};
En el siguiente ejemplo se solicita al usuario
que ingrese un índice. Dependiendo de qué número se ingrese, se verá el nombre
asociado a ese índice. El primer nombre del arreglo es “Gustavo”, el cual se
encuentra en el índice cero. El siguiente nombre “Ximena”, ubicado en el el
índice 1 y por último, “Javiera”, en el índice 2. Sobre el asterisco que lleva
la variable “nombre”, se trata de un puntero. Los punteros se explicarán en
capítulos posteriores, simplemente ahora se debe colocar un asterisco cada vez
que se tenga que asignar cadenas a un arreglo de tipo char.
#include<stdio.h>
int main(void){
char *nombres[] = {"Gustavo",
"Ximena", "Javiera"};
int
indice;
printf("Que indice consultaras?:\n");
printf("Indices disponibles: 0, 1, 2: ");
scanf("%d", &indice);
switch(indice){
case 0:
printf(nombres[0]);
break;
case 1:
printf(nombres[1]);
break;
case 2:
printf(nombres[2]);
break;
default:
printf("Opcion
no es valida");
break;
}//fin
switch
return 0;
}
Modificando los arreglos
Para modificar un dato de un
arreglo, simplemente hay que indicar el índice a modificar. Ejemplo
arreglo[] = {1, 2, 3, 4, 5};
arreglo[2] = 10;
arreglo[] = {1, 2, 10, 4, 5};
Ejemplo en un programa.
#include<stdio.h>
int main(void){
int numeros[] =
{1, 2, 3};
printf("Indice 1: %d\n", numeros[1]);
numeros[1] = 5;
printf("Indice
1 modificado: %d\n", numeros[1]);
return 0;
}
Arreglos multidimensionales
Los arreglos también permiten añadirles más de un
índice. Cuando un arreglo tiene más de un índice, se le conoce como arreglo
multidimensional, siendo el arreglo de dos índices el de uso más común, el cual
es conocido como matriz.
La sintaxis para un arreglo de dos dimensiones o
matriz es la siguiente:
tipoDatos nombreArreglo[dimension][dimension]
Ejemplo:
int numero[3][3];
Como se puede ver, la cantidad de dimensiones del
arreglo se puede apreciar por los corchetes que lleva.
Una matriz se caracteriza por estar formada por
filas y columnas. Aquí un ejemplo:
#include<stdio.h>
int main(void){
int fila,
columna;
int
matriz[3][3];
int
contador = 0;
for(fila
= 0; fila < 3; fila++){
for(columna = 0; columna < 3; columna++){
contador++;
matriz[fila][columna] = contador;
printf("%d ",
matriz[fila][columna]);
}
printf("\n");
}
return 0;
}
Eso es
todo por ahora, si las matrices no quedaron muy claras, siempre se puede
revisar el capitulo 12 donde quedó mejor explicado de que se trata. Como he
dicho, en estos capítulos trataré de no extenderme mucho ya que es una materia
ya vista. Solamente trataré de explicar la sintaxis en cada lenguaje.
Gustavo J. Cerda Nilo
No hay comentarios:
Publicar un comentario