Buen día para todos.
Se me pidió convertir un array de varias dimensiones en un vector unidimensional de dos maneras, uno por medio de apuntadores con doble indireccion y la otra por medio de una formula ; i*8+j, la que aun no entiendo como aplicarla o usarla para pasar el array a vector, aquí está mi código con doble indireccion, alguno podria explicarme como funciona el pasar el arrary a vector con esa formula??? Gracias.
#include<iostream>
using namespace std;
int main()
{
int array[2][3];
int contador = 1;
int vector[6];
int **vector_apuntadores[6];
int *apuntador_arrays[2][3];
int contador_2=0;
//Arreglo bidimensional:
for (int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
array[i][j]= contador;
cout << "["<<array[i][j]<<"]";
contador++;
}
cout<<"\n";
}
cout << "\n\n";
//Paso del arreglo bidimensional a un vectorapuntador_arrays[i][j] por medio de doble indireccion:
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
apuntador_arrays[i][j]=&array[i][j]
; vector_apuntadores[contador_2] = &apuntador_arrays[i][j];
vector[contador_2] = **vector_apuntadores[contador_2];
cout << "["<<vector[contador_2]<<"]";
contador_2++;
}
cout<<"\n" ;
}
system ("pause");
return 0;
}