martes, 19 de mayo de 2015

14 - Tutorial de C++ en español - Arrays unidimensionales y multidimensionales




En este capítulo veremos diferentes modos de crear arrays en C++, a través de la librerías vector y map o a través de un tipo de datos como int, C++ es un lenguaje muy dinámico y ofrece muchas posibilidades distintas para trabajar con arrays.

Los arrays unidimensionales son aquellos donde sus elementos son de un único valor, sin embargo, los arrays multidimensionales son aquellos donde sus elementos, a su vez también son arrays, este tipo de arrays se estructuran jerárquicamente como padres-hijos-nietos-... array[padres][hijos][nietos][...]

array.cpp


#include <iostream>
#include <vector>
#include <map>
#include <string>

using namespace std;

int main()
{
    
 /* Array unidimensional */
 vector<string> uni;
 uni.push_back("uno");
 uni.push_back("dos");
 uni.push_back("tres");
 for (int x = 0; x < uni.size(); x++)
 {
   cout << "Index=" << x << ":Valor=" << uni[x] << endl;  
 }
 
 /* Array multidimensional tipo int */
 int const elem_padres = 2;
 int const elem_hijos = 2;
 int arr[elem_padres][elem_hijos] = {{1, 2}, {3, 4}};
 cout << arr[0][1] << endl;
 cout << arr[1][0] << endl;
 for (int x = 0; x < elem_padres; x++)
 {
   cout << "Padre=" << x << ":Hijos=" << arr[x][0] << ":" << arr[x][1] << endl;  
 }

 /* Array multidimensional con map */
 map< int, map<int, string> > bidimensional;
 bidimensional[0][0] = "uno";
 bidimensional[0][1] = "dos";
 bidimensional[1][0] = "uno";
 bidimensional[1][1] = "dos";
 
 map< int, map<int, string> >::iterator iter;
 for (iter = bidimensional.begin(); iter != bidimensional.end(); iter++)
 {
   cout << "Padre=" << iter->first << "Hijos=" << iter->second[0] << ":" << iter->second[1] << endl;
 }

 system("PAUSE");
 return 0;
}