Pascal/Turbo Pascal - Retorno de Arrays

 
Vista:

Retorno de Arrays

Publicado por esekeva (1 intervención) el 02/12/2003 20:20:30
Quiero saber si es posible que una funcion retorne un array en pascal?
He intentado la siguiente forma pero no es posible;

PROGRAM ese
TYPE
a : array [1..2] of integer;

FUNCTION retorno (fila : integer) : a;
{Como quiero que retorne un tipo \' a \' lo pongo asi, pero me aparece como tipo invalido de retorno}

Otra opcion que pense fue pasar el array como argumento en un procedimiento y modificarlo dentro de este procedimiento, pero el array cuando regreso al punto desde donde llame al procedimiento no se ha modificado.

Si alguien puede ayudarme con este problema le agradeceria ke kontestara

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Retorno de Arrays

Publicado por M@arceloL (152 intervenciones) el 02/12/2003 22:24:13
Bueno.Mi Pascal está un poco oxidado en ese aspecto, pero el uso del procedimiento, es perfectamente realizable.

Probablemente el problema con el procedimiento es que pasabas la variable por valor, no por referencia.

Ejemplo, dado los encabezados:

procedure HacerAlgo(Arreglo:TArreglo); --> Paso por valor

procedure HacerAlgo(var Arreglo:TArreglo); --> Paso por referencia

El primero no te va a devolver el arreglo modificado, sí en cambio el segundo.

Espero te sirva, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Retorno de Arrays

Publicado por Morito (176 intervenciones) el 06/12/2003 02:53:49
Expresa mejor tu problema porfa, o enviamelo es que ahora estoy ocupado

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Retorno de Arrays

Publicado por Diego Romero (786 intervenciones) el 06/12/2003 15:07:26
Las funciones en Turbo Pascal no pueden regresar tipos complejos definidos por el usuario, la solución que te ofrece M@arceloL es la correcta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar