Hola muy buenas.
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.