Tengo una duda sobre los arrays multidimensionales, yo quiero copiar un array de dos dimensiones a otro. He hecho este codigo, pero no me funciona, podeis decirme donde he fallado?
Código C++:
Ver original
#include <iostream> using namespace std; const int TAM=512; typedef float Timagen[TAM][TAM]; typedef float Tcopia[TAM][TAM]; void DetectarCelula (const Timagen &imagen, const Tcopia &copia); void Copiar (const Tcopia copia, Timagen &imagen, int alto, int ancho); void Marcar (const Timagen &imagen, const Tcopia &copia, int alto, int ancho); int main () { int ancho, alto; Timagen imagen; cout << "Dime el ancho de la imagen: "; cin >> ancho; if (ancho>TAM) { cout << "El ancho no puede ser mayor a 512. Vuelva a introducir el ancho: "; cin >> ancho; } cout << "Dime el alto de la imagen: "; cin >> alto; if (alto>TAM) { cout << "El alto de la imagen no puede ser mayor de 512. Vuelva a introducir el alto: "; cin >> alto; } for (int j=0; j<alto; j++) { for (int i=0; i<ancho; i++) { cout << "Introduce el valor del pixel en la posicion (" << j << "," << i << "): " << endl; cin >> imagen[j][i]; if (imagen[j][i] > 255) { cout << "Introduce el valor del pixel en la posicion (" << j << "," << i << ") dentro del rango: " << endl; cin >> imagen[j][i]; } } } return 0; } void Copiar (const Tcopia copia, Timagen &imagen, int alto, int ancho) { for (int a=0; a<alto; a++) { for (int b=0; b<ancho; b++) { imagen[a][b] = copia[a][b]; } } }
Espero vuestras respuestas. Gracias.