Título: [AYUDA]Funcion avanzada Publicado por: anonimo12121 en 14 Mayo 2010, 12:27 pm hola necesito ayuda por que no se si seria posible de alguna forma pasarle a 1 parametro de funcion algo como esto
int a,b; int func(int parametro){ } func(a || b); o fun (a && b); saludos Título: Re: [AYUDA]Funcion avanzada Publicado por: h0oke en 14 Mayo 2010, 13:25 pm Supongo que podrías hacerlo, pero en el parámetro deberías indicar un tipo booleano, ya que "a&&b" o "a || b" devuelven un tipo de dato booleano.
(Ahora lo intento) EDITADO Espero que te refieras a esto: Código
Título: Re: [AYUDA]Funcion avanzada Publicado por: anonimo12121 en 14 Mayo 2010, 13:33 pm si creo que si. ahora lo probare y te aviso.
EDITO: pero tiene que ser BOOL o podria ser por ejemplo un int ?. Título: Re: [AYUDA]Funcion avanzada Publicado por: Gallu en 14 Mayo 2010, 13:37 pm Puede ser perfectamente un int , solo recuerda que en C y C++ 0 es false y cualquier valor distinto de 0 es true
prueba esto ... Código
Título: Re: [AYUDA]Funcion avanzada Publicado por: h0oke en 14 Mayo 2010, 13:39 pm Puede ser un int, ya que teóricamente en C/C++ el TRUE y FALSE, corresponden a un 1 lógico y un 0 lógico.
(EDIT: Me ganaron la respuesta) EDIT2: Creo que lo más conveniente, es declarar un tipo bool ya que precisamente se está evaluando una operación booleana, que en el fondo debería devolver un "tipo boolean", sólo es cuestión de gustos en esta parte... yo eligiría el bool pero no sabría fundamentar BIEN por qué razón... Título: Re: [AYUDA]Funcion avanzada Publicado por: anonimo12121 en 14 Mayo 2010, 13:47 pm Hola miren esto es lo que quiero, pero no me sale.
si algun de las 2 variables puesta en el parametro x es = x devuelve x valor. Código
pero me devuelve 16364. Título: Re: [AYUDA]Funcion avanzada Publicado por: Gallu en 14 Mayo 2010, 13:50 pm Hombre , al hacer esto a3=funcion(a1 && a2); dentro de la función v1 = 1 y no a 6 , el valor 16364. es basura simplemente
Título: Re: [AYUDA]Funcion avanzada Publicado por: h0oke en 14 Mayo 2010, 13:55 pm Código
Nunca podrá ser un valor distinto de 0 o 1 ya que la operación regresa esos 2 valores. Título: Re: [AYUDA]Funcion avanzada Publicado por: anonimo12121 en 14 Mayo 2010, 17:26 pm ok gracias
Título: Re: [AYUDA]Funcion avanzada Publicado por: biribau en 14 Mayo 2010, 19:30 pm Tu quieres una especie de función superescalar o vectorial(creo que no es lo mismo), eso en C no se puede, habrás de pasarle un array de enteros y procesarlos con un bucle, también te hará falta un límite para el array.
Código Y para aprovechar las instrcciones SIMD del procesador pues ya no sé, con funciones de alguna librería. Título: Re: [AYUDA]Funcion avanzada Publicado por: anonimo12121 en 14 Mayo 2010, 20:22 pm Ya me di cuenta de que no se puede, tendre que buscar otro metodo.
gracias. saludos Título: Re: [AYUDA]Funcion avanzada Publicado por: O-LLOS-O en 14 Mayo 2010, 20:41 pm azla bit a bit, con un solo &
Título: Re: [AYUDA]Funcion avanzada Publicado por: h0oke en 15 Mayo 2010, 01:11 am No entendí muy bien... Qué es lo que necesita?
Título: Re: [AYUDA]Funcion avanzada Publicado por: biribau en 15 Mayo 2010, 01:55 am No entendí muy bien... Qué es lo que necesita? Yo deduzco que con f(a&&b) quería conseguir f(a) && f(b) ?Título: Re: [AYUDA]Funcion avanzada Publicado por: anonimo12121 en 15 Mayo 2010, 10:30 am NO.
por ejemplo inserto 3 variables en el parametro y en la funcion hay un if, si algun de las 3 variables insertada en el parametro... Título: Re: [AYUDA]Funcion avanzada Publicado por: h0oke en 15 Mayo 2010, 13:20 pm Pero entonces ¿por qué razón no creas una función con 3 parámetros? :huh:
Título: Re: [AYUDA]Funcion avanzada Publicado por: Gallu en 15 Mayo 2010, 13:20 pm Pienso que lo que escribio biribau es lo que necesitas ... ::)
Título: Re: [AYUDA]Funcion avanzada Publicado por: anonimo12121 en 15 Mayo 2010, 16:21 pm Pero entonces ¿por qué razón no creas una función con 3 parámetros? :huh: pues por que tendria que hacer 1 if para cada parametro.Pienso que lo que escribio biribau es lo que necesitas ... ::) Si creo que tambien lo probare .Gracias por ayudarme tanto, saludos. Título: Re: [AYUDA]Funcion avanzada Publicado por: Foxy Rider en 15 Mayo 2010, 17:29 pm Me parece que lo que querés es operaciones con bits, ¿ no ? para empezar no es avanzado ....
el tema es .. cuantos flags querés on y off (mientras menos, mejor), y en base a eso elegís un tipo de dato que logre acaparar esa cantidad de bits, la cantidad de bits es igual o lo más próximo (contando desde arriba) a la cantidad de opciones Código
para este ejemplo elegí un tipo de dato muy grande, con un byte o char alcanzaba tranquilamente (8 bits), pero bueh, para ilustrar... también hay funciones que no se usan ahí, pero también las dejé para ilustrar y para no las usé para no liar mucho el ejemplo ... ¿es eso ? Saludos. Título: Re: [AYUDA]Funcion avanzada Publicado por: anonimo12121 en 15 Mayo 2010, 18:00 pm NO lo que queria era meter 3 variables en 1 parametro y si alguna de esas es por ejemplo if(x==1)...
Título: Re: [AYUDA]Funcion avanzada Publicado por: h0oke en 15 Mayo 2010, 19:33 pm Entonces por qué no un array?
Título: Re: [AYUDA]Funcion avanzada Publicado por: anonimo12121 en 15 Mayo 2010, 20:00 pm ya tendria que haber un bucle. pero si es lo mejor creo.
|