Diario de un programador.- Dia 91
Arreglos, vectores, arrays...
Esto es muy parecido a lo visto en el tutorial de C. Así que si se entendió bien ese tutorial, no debería haber problemas con este que es prácticamente lo mismo.
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<iostream>
int main(void){
int suma = 0,
promedio, i;
int numero[2];
std::cout
<< "Ingresa 3 numeros: \n";
for(i = 0; i
<= 2; i++){
std::cout
<< "Elemento nro " << i+1 << ": ";
std::cin
>> numero[i];
suma = suma + numero[i];
}
promedio = suma / 3;
std::cout << "\nEl promedio es:
" << promedio << std::endl;
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<iostream>
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;
std::cout << "El promedio es: " << promedio
<< std::endl;
return 0;
}
En este 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 el “Ximena”, nombre ubicado en el el índice 1 y por
último, “Javiera”, en el índice 2. En C++ se puede utilizar la clase estándar
string para poder declarar arreglos, lo que facilita en cierta medida el manejo
de cadenas.
#include<iostream>
int main(void){
std::string
nombres[] = {"Gustavo", "Ximena", "Javiera"};
int
indice;
std::cout
<< "Que indice consultaras?:\n";
std::cout << "Indices disponibles: 0, 1, 2:
";
std::cin >> indice;
switch(indice){
case 0:
std::cout << nombres[0];
break;
case 1:
std::cout << nombres[1];
break;
case 2:
std::cout << nombres[2];
break;
default:
std::cout << "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<iostream>
int main(void){
int numeros[] = {1, 2, 3};
std::cout << "Indice 1: "
<< numeros[1] << std::endl;
numeros[1] = 5;
std::cout
<< "Indice 1 modificado: " << numeros[1] <<
std::endl;
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<iostream>
#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;
std::cout << 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