elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
06 Octubre 2008, 18:17  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderador: ®®)
| | |-+  incializar un vector con una funciòn.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Imprimir
Autor Tema: incializar un vector con una funciòn.  (Leído 637 veces)
Eternal Idol N&P

Desconectado Desconectado

Mensajes: 1.339


Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)


Ver Perfil WWW
Re: incializar un vector con una funciòn.
« Respuesta #15 en: 25 Febrero 2008, 20:35 »

inivector ( *matriz , dim );
En línea

http://www.nacionalypopular.com/
http://www.lucheyvuelve.com.ar/

"La economia nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de este"
Juan Domingo Peron
GroK

Conectado Conectado

Mensajes: 594


...I have become comfortably numb...


Ver Perfil
Re: incializar un vector con una funciòn.
« Respuesta #16 en: 25 Febrero 2008, 23:57 »

inivector ( *matriz , dim );

matriz ya es un puntero, por lo que hay que pasarlo como tal a la funcion, sin dereferenciar.

Yo insisto en usar memoria dinamica para lo que tu quieres, ya que el tamaño de la matriz no lo conoces de antemano no? Aqui te pongo como lo haria yo, es parecido a la de antes pero puesto como funcion y corregidos los fallitos xD

Código
#include <stdio.h>
#include <stdlib.h>
 
int inivector (int *vec, int dim)
 
{
int i;
for (i = 0; i < dim; i++)
vec[i] = 1;
return 0;
}
 
int main (void)
 
{
int *matriz, tam;
printf ("Dimensiones de la matriz: ");
scanf ("%d", &tam);
matriz = (int *) malloc (tam * sizeof(int));
if (inivector (matriz, tam) != 0)
printf ("Error inicializando matriz!");
getchar ();
free (matriz);
return 0;
}

Espero que te sirva, saludos
En línea

"I put on my Hendrix album and my son said 'Dad, who's that?' and i said 'Well son, that's God' "- Robert Plant

Eternal Idol N&P

Desconectado Desconectado

Mensajes: 1.339


Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)


Ver Perfil WWW
Re: incializar un vector con una funciòn.
« Respuesta #17 en: 26 Febrero 2008, 00:01 »

matriz ya es un puntero, por lo que hay que pasarlo como tal a la funcion, sin dereferenciar.

Si, matriz es un array, ese es el codigo original y lo que esta en rojo lo que hay que borrar.

Yo insisto en usar memoria dinamica para lo que tu quieres, ya que el tamaño de la matriz no lo conoces de antemano no? Aqui te pongo como lo haria yo, es parecido a la de antes pero puesto como funcion y corregidos los fallitos xD

Aunque insistas es IRRELEVANTE, lo que el pide es una FUNCION para inicializar la memoria a cero o uno (vaya uno a saber, primero dijo uno pero su codigo la pone a cero). En la funcion propuesta se pasa el tamaño como parametro.
« Última modificación: 26 Febrero 2008, 00:06 por Eternal Idol » En línea

http://www.nacionalypopular.com/
http://www.lucheyvuelve.com.ar/

"La economia nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de este"
Juan Domingo Peron
GroK

Conectado Conectado

Mensajes: 594


...I have become comfortably numb...


Ver Perfil
Re: incializar un vector con una funciòn.
« Respuesta #18 en: 26 Febrero 2008, 00:06 »

Si, matriz es un array, ese es el codigo original y lo que esta en rojo lo que hay que borrar.

Ah, bien entonces, pense que lo habias añadido tu.

Cita de: Eternal Idol
Aunque insistas es IRRELEVANTE, lo que el pide es una FUNCION para inicializar la memoria a cero. En la funcion propuesta se pasa el tamaño como parametro.

Mmmh pues no entiendo a que te refieres, no es eso lo que hace inivector? Y no decia tambien que queria que cada casilla del array contuviese un 1, no un 0?

Saludos
En línea

"I put on my Hendrix album and my son said 'Dad, who's that?' and i said 'Well son, that's God' "- Robert Plant

Eternal Idol N&P

Desconectado Desconectado

Mensajes: 1.339


Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)


Ver Perfil WWW
Re: incializar un vector con una funciòn.
« Respuesta #19 en: 26 Febrero 2008, 00:10 »

Ah, bien entonces, pense que lo habias añadido tu.

No, rojo denota error  ;) Es el ultimo codigo que el dejo y el error que le da el compilador esta ahi.

Mmmh pues no entiendo a que te refieres, no es eso lo que hace inivector?

Efectivamente y por lo tanto es irrelevante el uso de memoria dinamica, la funcion esta preparada para aceptar un puntero a int y su tamaño. No hacia falta mostrar ningun main siquiera ...

Y no decia tambien que queria que cada casilla del array contuviese un 1, no un 0?

Si, como agregue a mi mensaje anterior el dijo originalmente uno, pero todos sus codigos (incluido el del mensaje original) usan cero como es lo normal.
« Última modificación: 26 Febrero 2008, 00:12 por Eternal Idol » En línea

http://www.nacionalypopular.com/
http://www.lucheyvuelve.com.ar/

"La economia nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de este"
Juan Domingo Peron
botella

Desconectado Desconectado

Mensajes: 68


Ver Perfil
Re: incializar un vector con una funciòn.
« Respuesta #20 en: 26 Febrero 2008, 22:22 »

si, en realidad era a 0, dije uno no se por que.


Volviendo a el còdigo ese que pusiste funciona bièn, pero no entiendo unas cosas:

que hace la lìnea ?:

matriz = (int *) malloc (tam * sizeof(int));  //es decir, que es malloc y sizeof???


y que hace:

free (matriz);   //es decir, que es free??? me suena a liberar o algo asì pero realmente no se que es.

desde ya gracias por todo

estoy aprendiendo y realmente el foro es una ayuda de la puta madre.
   
« Última modificación: 26 Febrero 2008, 22:32 por botella » En línea
Páginas: 1 [2] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats