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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 20
21  Programación / Programación C/C++ / Re: Calcular longitud de cadena C++ (punteros) en: 15 Septiembre 2014, 20:08 pm
Seguro que hay una forma mucho mas simple, pero aun soy nuevo con esto de los punteros y no los comprendo muy bien.

Quedaría mas o menos así :

Código
  1. size_t LongitudCadena(const char *str)
  2. {
  3.    const char *s;
  4.    for (s = str; *s; ++s);
  5.    return(s - str);
  6. }

No hay necesidad de usar un segundo puntero

Un Saludo

22  Programación / Programación C/C++ / Re: Una funcion que devuelva un entero + un string en c++ en: 12 Septiembre 2014, 21:03 pm
Gracias amigo... pero nunca he trabajado con esos parametros investigare como hacerlo, muchas gracias. O si puedes darme un ejemplo

Por supuesto :

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define MAX 20
  5.  
  6. struct datos
  7. {
  8.    int edad;
  9.    char cad[MAX];
  10. };
  11.  
  12. struct datos comprobar()
  13. {
  14.    struct datos D;
  15.  
  16.    D.edad = 15;
  17.    strcpy(D.cad, "menor");
  18.  
  19.    return D;
  20. }
  21.  
  22. int main(void)
  23. {
  24.    struct datos D = comprobar();
  25.  
  26.    printf("Edad = %d\n", D.edad);
  27.    printf("Apto = %s\n", D.cad);
  28.  
  29.    return 0;
  30. }
  31.  

Un Saludo
23  Programación / Programación C/C++ / Re: Una funcion que devuelva un entero + un string en c++ en: 12 Septiembre 2014, 20:31 pm
Alguna idea de como hacer una función que devuelva un entero mas una cadena. Que me devuelva la edad y una frase que diga usted es mayor de edad o menor

No puede devolver dos valores simultáneamente, pero puedes poner todas las variables que desea modificar en una estructura y devolver esa estructura de la función, dado que una estructura puede contener cualquier número de elementos se puede devolver cualquier número de elementos de una función de esta manera.

Un Saludo
24  Programación / Programación C/C++ / Re: Duda en programación C: en: 6 Septiembre 2014, 14:02 pm
La figura C) es la que me falla, me sale una representación bastante distinta, es algo así:

Debería quedar mas o menos así:

Código
  1. for(i = 1; i <= 10; i++)
  2. {  
  3.  for(j = 1; j < i; j++) printf(" ");
  4.     for(j = 10; j >= i; j--) printf("*");
  5.  printf("\n");
  6. }  
  7.  

Saludos
25  Programación / Programación C/C++ / Re: [Duda] Pasar struct por referencia en: 26 Agosto 2014, 18:16 pm
En realidad no se resolvio, sigo teniendo el mismo problema:

Te convendría mas declarar la siguiente estructura de esta manera:

Código
  1. typedef struct
  2. {
  3.    char nombre[30];
  4.    char apellido[30];
  5.    int telefono;
  6.    int edad;
  7. }registro;

Y en la función SetearReg la condición de terminación de for es incorrecta (i >= 200) quedaría así :

Código
  1. void SetearReg(registro *clientes)
  2. {
  3.    int i;
  4.    for(i = 0; i <= 200; i++)
  5.    {
  6.        clientes[i].telefono = 0;
  7.        clientes[i].edad = 0;
  8.    }
  9. }

Saludos
26  Programación / Programación C/C++ / Re: Palindromo C++ en: 23 Agosto 2014, 21:36 pm
no sé por qué pero algo me decía que no estaba bien. 

Pero de igual manera podrías inicializar q a -1 y no restarle 1 a p:

Código
  1. int q = -1, p = LongCad(palabra);
  2. while (q++ < p--)
  3.    if (palabra[q] != palabra[p])
  4.       return false;
  5. return true;

Saludos
27  Programación / Programación C/C++ / Re: Palindromo C++ en: 23 Agosto 2014, 20:49 pm
Seria mas apropiado realizar el decremento e incremento fuera del while justo después de la primera comparación:

Código
  1. while (q < p)
  2. {
  3.   if (palabra[q] != palabra[p])
  4.       return false;
  5.   q++, p--;
  6. }

Tu código al procesar una cadena como esta arenere retornara true

Saludos
28  Programación / Programación C/C++ / Re: Como detectar un desbordamiento de enteros en: 23 Agosto 2014, 03:44 am
Hay una manera de determinar si una operación es probable que desborde usando las posiciones de los bits uno más significativos por ejemplo:

Código
  1. size_t bit_mayor(unsigned n)
  2. {
  3.    size_t bits = 0;
  4.    while (n) ++bits, n >>= 1;
  5.  
  6.    return bits;
  7. }
  8.  
  9. bool mult_segura(unsigned a, unsigned b)
  10. {
  11.    size_t a_bits = bit_mayor(a), b_bits= bit_mayor(b);
  12.    return ( a_bits + b_bits <= 32 );
  13. }
  14.  
  15. int main(void)
  16. {
  17.    unsigned a = 2, b = 4294967295;
  18.    unsigned result = 0;
  19.  
  20.    if(mult_segura(a, b))
  21.    {
  22.        result = a * b;
  23.        printf("Multiplicacion: %u\n", result);
  24.    }
  25.    else
  26.        puts("Posible desbordamiento de enteros");
  27.  
  28.    return 0;
  29. }
  30.  

Saludos
29  Programación / Programación C/C++ / Re: Error al compilar programa en c++ en: 23 Agosto 2014, 03:38 am
En la primera iteración en esta linea:

Código
  1. if(m % i == 0)

Estas aplicado el operador modulo sobre m cuando i tiene el valor de cero
30  Programación / Programación C/C++ / Re: Cuando utilizar signed y cuando unsigned (lenguaje C) en: 17 Agosto 2014, 20:14 pm
No obstante haciendo estas prácticas me encuentro con cosas que parecen incoherente pero ocurren, ¿alguien me las puede explicar.?

Utilizas el especificador de formato %d esto obliga a la función printf a interpretar el numero como un entero con signo el especificador apropiado para tal caso es %u, al usar este imprimirás el mayor número que se puede representar en un unsigned int menos 1 debido al desbordamiento.    

Saludos
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ... 20
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines