Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: mapers en 16 Agosto 2010, 07:01 am



Título: funcion que devuelve un caracter
Publicado por: mapers en 16 Agosto 2010, 07:01 am
holas gente tengo este ejericio pero no se como hacer para que me devuelva el valor del caracter que va a retornar
Código
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. char *matriz(int fila,int columna)
  7. {
  8. if(fila%2==0 &&  columna%2==0 && fila >=columna)
  9. return L;
  10. if(fila%2==0 &&  columna%2==0 && fila <columna)
  11. return U;
  12. if(fila%2!=0 &&  columna%2!=0 && fila >=columna)
  13. return L;
  14. if(fila%2!=0 &&  columna%2!=0 && fila <columna)
  15. return D;
  16. if(fila%2!=0 &&  columna%2==0 && fila >=columna)
  17. return L;
  18. if(fila%2!=0 &&  columna%2==0 && fila <columna)
  19. return D;
  20. if(fila%2==0 &&  columna%2!=0 && fila >=columna)
  21. return D;
  22. if(fila%2==0 &&  columna%2!=0 && fila <columna)
  23. return U;
  24. }
  25.  
  26.  
  27. int main(int argc, char *argv[])
  28. {
  29.    int fila=0,columna=0,i=0;
  30.    cout<<"INGReSE NUMERO DE SECUENCIAS  A GENERAR"<<endl;
  31. cin>>i;
  32.    for(int j=0;j<i;j++)
  33.    {
  34.       cout<<matriz(fila,columna);
  35.    }
  36.    system("PAUSE");
  37.    return EXIT_SUCCESS;
  38. }
  39.  
  40.  


Título: Re: funcion que devuelve un string
Publicado por: leogtz en 16 Agosto 2010, 07:08 am
Tu hablas de devolver un caracter, no de una cadena de caracteres.

El prototipo debería ser:

Código:
char algo(...)

No:

Código:
char *matriz(int fila,int columna)

Código
  1. char matriz(int fila,int columna)
  2. {
  3. if(fila%2==0 &&  columna%2==0 && fila >=columna)
  4. return 'L';
  5. if(fila%2==0 &&  columna%2==0 && fila <columna)
  6. return 'U';
  7. if(fila%2!=0 &&  columna%2!=0 && fila >=columna)
  8. return 'L';
  9. if(fila%2!=0 &&  columna%2!=0 && fila <columna)
  10. return 'D';
  11. if(fila%2!=0 &&  columna%2==0 && fila >=columna)
  12. return 'L';
  13. if(fila%2!=0 &&  columna%2==0 && fila <columna)
  14. return 'D';
  15. if(fila%2==0 &&  columna%2!=0 && fila >=columna)
  16. return 'D';
  17. if(fila%2==0 &&  columna%2!=0 && fila <columna)
  18. return 'U';
  19. }

El título de tu mensaje y lo que quieres no tiene ninguna relación.


Título: Re: funcion que devuelve un caracter
Publicado por: mapers en 16 Agosto 2010, 07:12 am
gracias men   ya me salio 


Título: Re: funcion que devuelve un caracter
Publicado por: leogtz en 16 Agosto 2010, 07:15 am
Pon el código completo que estás tratando de compilar.

Si estás tratando de compilar el código, no te correrá  :¬¬

Tu código:

Código
  1. int main(int argc, char *argv[])
  2. {
  3.    int fila=0,columna=0,i=0;
  4.    cout<<"INGReSE NUMERO DE SECUENCIAS  A GENERAR"<<endl;
  5.    for(int j=0;j<i;j++)
  6.    {
  7.       cout<<matriz(fila,columna);
  8.    }
  9.    system("PAUSE");
  10.    return EXIT_SUCCESS;
  11. }
  12.  

i es igual a cero, j < i, nunca se entrará en el bucle.


Título: Re: funcion que devuelve un caracter
Publicado por: mapers en 16 Agosto 2010, 07:38 am
oks""" hay esta
Código
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. char matriz(int fila,int columna)
  7. {
  8. if(fila==1 &&  columna==1 && fila >=columna)
  9. return 'R';
  10. if(fila%2==0 &&  columna%2==0 && fila >=columna)
  11. return 'L';
  12. if(fila%2==0 &&  columna%2==0 && fila <columna)
  13. return 'R';
  14. if(fila%2!=0 &&  columna%2!=0 && fila >=columna)
  15. return 'D';
  16. if(fila%2!=0 &&  columna%2!=0 && fila <columna)
  17. return 'R';
  18. if(fila%2!=0 &&  columna%2==0 && fila >=columna)
  19. return 'U';
  20. if(fila%2!=0 &&  columna%2==0 && fila <columna)
  21. return 'R';
  22. if(fila%2==0 &&  columna%2!=0 && fila >=columna)
  23. return 'D';
  24. if(fila%2==0 &&  columna%2!=0 && fila <columna)
  25. return 'L';
  26. }
  27.  
  28.  
  29. int main(int argc, char *argv[])
  30. {
  31.    int fila=0,columna=0,i=0;
  32.    cout<<"INGRSE NUMERO DE SECUENCIAS  A GENERAR"<<endl;
  33.    cin>>i;
  34.    cout<<endl;
  35.    for(int j=0;j<i;j++)
  36.    {
  37.        cout<<"INGRSE FILA"<<endl;
  38.    cin>>fila;
  39.     cout<<"INGRSE COLUMNA"<<endl;
  40.    cin>>columna;
  41.       cout<<matriz(fila,columna);
  42.       cout<<endl;
  43.    }
  44.    system("PAUSE");
  45.    return EXIT_SUCCESS;
  46. }
  47.  
  48.  


Título: Re: funcion que devuelve un caracter
Publicado por: leogtz en 16 Agosto 2010, 07:49 am
Compila y corre, ¿cuál es el problema?, ¿qué es lo que quieres hacer con ese código?