elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [AYUDA]Funcion avanzada
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: [AYUDA]Funcion avanzada  (Leído 8,349 veces)
anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
[AYUDA]Funcion avanzada
« 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


En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: [AYUDA]Funcion avanzada
« Respuesta #1 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
  1. #include <iostream>
  2.  
  3. #define TRUE 1
  4. #define FALSE 0
  5.  
  6. int funcion(bool z)
  7. {
  8.  if(z)
  9.    return 4;
  10.  else
  11.    return 0;
  12. }
  13.  
  14. int main()
  15. {
  16.  int a;
  17.  bool b = TRUE;
  18.  bool c = FALSE;
  19.  a = funcion(b && c);
  20.  std::cout<<"Valor funcion: "<<a<<std::endl;
  21.  return 0;
  22. }


« Última modificación: 14 Mayo 2010, 13:31 pm por dr.~ » En línea

anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
Re: [AYUDA]Funcion avanzada
« Respuesta #2 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 ?.
En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: [AYUDA]Funcion avanzada
« Respuesta #3 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
  1. #include <stdio.h>
  2.  
  3. void my_funci(int valor);
  4. int main(){
  5. int a = 1 , b = 0;
  6. my_funci(a&&b);
  7. my_funci(a||b);
  8. my_funci(a&b);
  9. my_funci(a|b);
  10. }
  11.  
  12. void my_funci(int valor){
  13. printf("\n%d", valor);
  14. }
  15.  
En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: [AYUDA]Funcion avanzada
« Respuesta #4 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...
« Última modificación: 14 Mayo 2010, 13:41 pm por dr.~ » En línea

anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
Re: [AYUDA]Funcion avanzada
« Respuesta #5 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
  1. #include <iostream>
  2. using namespace std;
  3. int a1=6;
  4. int a2=5;
  5. int a3;
  6. int funcion(int v1){
  7.    if(v1==6)return 1;
  8. }
  9. int main(int argc,char *argv[]){
  10.    a3=funcion(a1 && a2);
  11.    cout << a3;
  12.    cin.get();
  13. }

pero me devuelve 16364.
En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: [AYUDA]Funcion avanzada
« Respuesta #6 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
En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: [AYUDA]Funcion avanzada
« Respuesta #7 en: 14 Mayo 2010, 13:55 pm »

Código
  1. v1 = 6 &&5 /*Esto es 1, no 0*/

Nunca podrá ser un valor distinto de 0 o 1 ya que la operación regresa esos 2 valores.
En línea

anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
Re: [AYUDA]Funcion avanzada
« Respuesta #8 en: 14 Mayo 2010, 17:26 pm »

ok gracias
En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
biribau

Desconectado Desconectado

Mensajes: 181


Ver Perfil
Re: [AYUDA]Funcion avanzada
« Respuesta #9 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
  1. int funcion(int *valores, int numero_de_valores) {
  2.       for(int i =0; i < numero_de_valores; i++)
  3.             if(valores[i] == 6) return 1;
  4.       return 0;
  5. }
Y para aprovechar las instrcciones SIMD del procesador pues ya no sé, con funciones de alguna librería.
En línea

Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Necesito ayuda avanzada!
Dispositivos Móviles (PDA's, Smartphones, Tablets)
Que rabia 1 2,312 Último mensaje 14 Julio 2013, 06:49 am
por Ngeooz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines