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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 [51] 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 ... 122
501  Programación / Programación C/C++ / Re: [C++] ¿Cómo consigo leer un número indefinido de caracteres? en: 8 Agosto 2013, 10:36 am
¡Buenas!

Lo único que te pide es saber cual es el ASCII y las repeticiones de los caracteres introducidos hasta el primer punto.

No te hace falta para nada saber cuantos caracteres tienes que leer:
Código
  1.    char lector[11];
  2.    char repeticiones[256];
  3.    int i;
  4.  
  5.    memset(repeticiones,0,256);
  6.  
  7.    do{
  8.        fgets(lector,10,stdin);
  9.  
  10.        for(i = 0 ; lector[i] && lector[i] != '\n' && lector[i] != '.' ; i++)
  11.            repeticiones[lector[i]]++;
  12.  
  13.    }while(!strchr(lector,'.'));
  14.  
  15.    for(i = 0 ; i < 256 ; i++)
  16.    {
  17.        if(repeticiones[i])
  18.            printf("%c: %d repeticiones\n",i,repeticiones[i]);
  19.    }
  20.  

Pues no, te pide la posición en la tabla ASCII de los caracteres y el numero de caracteres. El código queda así:
Código
  1.    char lector[11];
  2.    char repeticiones[256];
  3.    int i,total = 0;
  4.  
  5.    memset(repeticiones,0,256);
  6.  
  7.    do{
  8.        fgets(lector,10,stdin);
  9.  
  10.        for(i = 0 ; lector[i] && lector[i] != '\n' && lector[i] != '.' ; i++)
  11.            repeticiones[lector[i]]++;
  12.  
  13.    }while(!strchr(lector,'.'));
  14.  
  15.    for(i = 0 ; i < 256 ; i++)
  16.    {
  17.        if(repeticiones[i])
  18.            printf("%c: ASCII %d\n",i,i);
  19.        total += repeticiones[i];
  20.    }
  21.  
  22.    printf("%d caracteres\n",total);
  23.  

¡Saludos!
502  Programación / Programación C/C++ / Re: ejercicio de juego primitiva c++ en: 7 Agosto 2013, 16:22 pm
¡Buenas!

(rep=1) siempre es cierto, ya que estás asignando a rep el valor 1, y luego utilizas el valor de rep (1) para evaluar la condición. Para compararlo utiliza el doble igual ==:
Código
  1. while(rep == 1)
  2.  

Y por supuesto, como ya te han dicho, en un do-while, después del paréntesis que cierra la condición del while, hay que poner un punto y coma.

¡Saludos!
503  Foros Generales / Noticias / Re: Cuerpo nuclear de Japón dice que hay agua radioactiva en Fukushima. en: 5 Agosto 2013, 18:18 pm
Mis ojos! mis ojos! La traducción mata :xD

Di que si. Esto da dolor de cabeza...
504  Foros Generales / Noticias / Re: Obama levanta el veto que prohibía a Apple vender modelos anteriores de iPhone.. en: 5 Agosto 2013, 11:36 am
Me parto.

Intentar prohibir de cualquier pagina web con contenido bajo propiedad intelectual estadounidense, y cuando los que infringen las normas son ellos se lo pasan por el escroto...
505  Foros Generales / Noticias / Re: ‘Emails’ de altos mandos de Al Qaeda desatan una alerta mundial en: 3 Agosto 2013, 23:03 pm
¡Ja ja ja, me parto... !  :¬¬

Primeto se descrubre que estan espiando a todo el mundo, y ahora, por casualidad, resulta que gracias a eso han descubierto vete tu a saber que...

Aun habra gente que se crea que todo esto es cierto...
506  Programación / Programación C/C++ / Re: Objeto to char* en: 3 Agosto 2013, 22:18 pm
Pues no se si el primero es el de mas peso. Para saberlo prueba esto:

Código
  1. int x = 0x44332211;
  2. char s[4];
  3.  
  4. memcpy(s,&x,sizeof(int));
  5.  
  6. for(int i = 0 ; i < sizeof(int) ; i++)
  7.    prihntf("%X",s[i]);
  8.  
  9.  

así sabrás si el byte mas significativo es el de la posición 0 o el de la 3.

¡Saludos!
507  Programación / Programación C/C++ / Re: Objeto to char* en: 3 Agosto 2013, 21:42 pm
Por lo que acabo de ver en google, puede ser un error debido a que al copiar y pegar te has llevado caracteres extraños... (¿Puede ser?)

Prueba a reescribir las lineas en las que te da error.

¡Saludos!
508  Programación / Programación C/C++ / Re: Objeto to char* en: 3 Agosto 2013, 21:34 pm
?????

¿¿¿Has incluido todos los headers que te hacen falta???

A mi no me da problemas. ¿Que errores te da exactamente?

¡Saludos!
509  Programación / Programación C/C++ / Re: Objeto to char* en: 3 Agosto 2013, 21:02 pm
Ahí pasa lo mismo.

Los punteros están dentro de la clase, pero las cadenas literales están fuera.

Así que si hace un memcpy a una zona reservada con char, solo tendrá las direcciones donde empiezan las cadenas (los valores de los punteros).

El contenido de las cadenas está fuera de la clase.

¡Saludos!

Código
  1. class Chorrada
  2. {
  3.    public:
  4.        Chorrada(char *s);
  5.  
  6.    private:
  7.        char str[20];
  8. };
  9.  
  10. Chorrada::Chorrada(char *s)
  11. {
  12.    memset(str,0,20);
  13.  
  14.    if(strlen(s) > 19)
  15.        strncpy(str,s,19);
  16.    else
  17.        strcpy(str,s);
  18. }
  19.  
  20. int main()
  21. {
  22.    Chorrada cosa("Hola");
  23.    char buf[sizeof(Chorrada)];
  24.  
  25.    memcpy(buf,&cosa,sizeof(Chorrada));
  26.  
  27.    for(int i = 0 ; i < sizeof(Chorrada) ; i++)
  28.        cout << buf[i];
  29.  
  30.    cout << endl;
  31.  
  32.    return 0;
  33. }
  34.  

Ahora si que la información está dentro de la clase, prueba a hacer el memcpy como lo hacias antes.

¡Saludos!
510  Programación / Programación C/C++ / Re: Objeto to char* en: 3 Agosto 2013, 20:59 pm
No, no.

No me refiero a eso. Aunque utilices un struct el problema será el mismo siempre que reserves memoria de forma dinámica.

Esto es la clase                                       Esto la memoria reservada que está fuera

--------------------------
|                               |
| puntero------------------------------> "Hola soy una cadena que estoy fuera y aqui hace frio"
|                               |
--------------------------

Y si en lugar de utilizar punteros y asignar memoria dinámica utilizar un vector, pasa esto:

Tu clase

---------------------------------------------------------------------------
| vector = "Soy un vector que está calentito dentro de la clase" |
---------------------------------------------------------------------------

Que mal me sienta estudiar.

Espero que lo hayas entendido, sino pregunta.

¡Saludos!
Páginas: 1 ... 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 [51] 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 ... 122
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines