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.
Código
#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; }