Título: Como retornar una matriz. Publicado por: SirLancelot53 en 24 Enero 2014, 00:32 am Si tengo una matriz que saco de un archivo y quiero retornarla ¿como lo hago? ya que el return quedaría dentro de los ciclos for terminando la función antes de tiempo. así:
Código
Porque si la retorno dentro del ciclo solo imprimiria el primer caracter del archivo, y lo que ocurre es que después debo modificar la matriz (cosa que no puedo hacer si está dentro del ciclo). Agradezco su ayuda y estoy atento a respuestas!!!!!! Título: Re: Como retornar una matriz. Publicado por: SirLancelot53 en 24 Enero 2014, 00:34 am Que pena, dentro de la función main() va:
cout << crear_mundo (M, f, c, a, i, j); Título: Re: Como retornar una matriz. Publicado por: amchacon en 24 Enero 2014, 01:49 am No tienes que retornar nada, los cambios que se hagan en la función cambiarán la matriz del main. Compruebalo tú mismo.
Ojo, esto solo ocurre con los vectores y matrices. No intentes hacerlo con una variable o con un objeto. Título: Re: Como retornar una matriz. Publicado por: SirLancelot53 en 24 Enero 2014, 02:19 am Pero cuando intento imprimir en pantalla la matriz dentro de la función main, me compila pero despues aparece error.
Título: Re: Como retornar una matriz. Publicado por: rir3760 en 24 Enero 2014, 02:22 am Eso se debe a que la matriz la destruyes al final de la función "crear_mundo", a partir de ahí ya no puedes utilizar los datos leídos del archivo (no tiene sentido).
Siguiendo lo comentado por amchacon también debes eliminar los parámetros "i" y "j", en su lugar hay que declararlos como variables locales. La función termina así: Código
Un saludo Título: Re: Como retornar una matriz. Publicado por: SirLancelot53 en 24 Enero 2014, 02:26 am Pero entonces ¿como podría imprimir la matriz o modificarla dentro de la función main? Porque intento hacerlo así:
cout << M; En main() pero el programa corre y luego sale error aún destruyendo la función al final de main(). Título: Re: Como retornar una matriz. Publicado por: rir3760 en 24 Enero 2014, 03:33 am Pero entonces ¿como podría imprimir la matriz o modificarla dentro de la función main? Honestamente no entiendo. La matriz la modificas en la función "crear_mundo": en ella sobrescribes cada uno de sus elementos con un valor leído del stream "a", modificar la matriz en la función main no conlleva diferencia alguna y basta con utilizar dos bucles. Y para imprimirla la operación es similar: Código Por ultimo antes de que la función main termine se debe liberar la memoria utilizada por la matriz mediante el operador new. Un saludo Título: Re: Como retornar una matriz. Publicado por: SirLancelot53 en 24 Enero 2014, 04:07 am Gracias, ahora ya entiendo pensé que no eran necesarios los ciclos; muchas gracias.
|