Título: Una duda con el almacenamiendo en c... Publicado por: Ataulfo7 en 11 Abril 2015, 16:53 pm Hola buenas, tengo este problemilla, tengo esta sintaxis.
Código Pero lo que no consigo hacer, tras empezar en el main, e ir a "LeeVector", consigo crear un vector llamado v1, pero lo que no se, es como almacenarlo, para tras tener el vector ya leido con la funcion mencionada antes, poder llevarlo a la función Escalar vector, y de ahi, llevarlo a Imprimir vector, ya que si lo intento a secas poniendo ImprimirVector(v1,n) Me devuelve todo 0, y si lo pongo ImprimirVector(v1,n) me dice que la i no esta declarada.... No se si es con apuntadores, con malloc, pero no logro conseguirlo.... Gracias al que ayude! ^^ ;D Título: Re: Una duda con el almacenamiendo en c... Publicado por: rir3760 en 11 Abril 2015, 17:16 pm Para empezar en la función "LeeVector" falta el valor de retorno y no puedes retornar el array "v1" ya que es local a esa función, cuando esta termina el array se destruye. Por ultimo indicas que el valor de retorno de la función es "float *" cuando los elementos del array son de tipo int.
En su lugar debes reservar un bloque de memoria mediante la función malloc usando la dirección de este como valor de retorno de la función. Mas o menos así: Código
Un saludo Título: Re: Una duda con el almacenamiendo en c... Publicado por: Ataulfo7 en 11 Abril 2015, 17:45 pm Me has arreglado el problema de almacenar el vector con malloc, Gracias!
Pero seguiria con el mismo problema, de que cuando llamo a la función imprime vector, la pongo tal que asi, Código Y me da de vuelta solo 0 como números haya puesto... Pero sin embargo en el propio main si lo escribo asi Código Si me sale... :-X :-X Título: Re: Una duda con el almacenamiendo en c... Publicado por: rir3760 en 11 Abril 2015, 17:54 pm Eso sucede porque en el bloque de memoria almacenas los valores leídos con scanf de tipo int, para que las demás funciones tengan el comportamiento esperado las debes modificar en la misma linea: se recibe un puntero de tipo "int *" y se procesan los elementos del bloque como enteros.
Un saludo |