Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - amchacon

#561
Programación C/C++ / Re: Long long to char
5 Agosto 2013, 10:15 AM
Sobrecarga el operador de conversión:

Código (cpp) [Seleccionar]
class Dummy
{
    public:
         char mensaje[4];
         long long valor;
         char mensaje2[4];

         operator char*()
        {
            char Texto[8];

            for (short i = 0; i < 4;i++)
            {
                 Texto[i] = mensaje[i];
                 Texto[i+4] = mensaje2[i];
            }
           
            return Texto;
        }

//...
#562
Programación C/C++ / Re: Objeto to char*
3 Agosto 2013, 20:59 PM
Prueba con esta variación sin memoria dinámica:

Código (cpp) [Seleccionar]
class Dummy
{
   public:
           char *campo1;
           char *campo2;
           int campo3;
           long long campo4;
   
   Dummy() : campo1("Hola"),campo2("Cosita")
   {}

   ~Dummy(){}
   
   void imprimir()
   {
        printf("CAMPO 1: %s\n",campo1);
        printf("CAMPO 2: %s\n",campo2);
        printf("CAMPO 3: %d\n",campo3);
        printf("CAMPO 4: %d\n",campo4);
   }        
};


De todas formas, es mucho suponer pensar que los bytes se van almacenar como tu piensas *_*
#563
Hay un problema en nuestro algoritmo, no funciona correctamente si compara palabras como "tomate" y "tetoma" (esto sucede porque hay varias T).

He modificado un poco el codigo. Ahora comprueba con todas las "t" que se encuentre:

Código (cpp) [Seleccionar]
#include <queue>

using namespace std;

bool Coincidencia(const char* Correcta,const char* Palabra)
{
   queue<int> Indices;
   unsigned int Tamanyo = strlen(Correcta);

   // Si son de distinto tamanyo salimos

   if (Tamanyo != strlen(Palabra)) return false;

   // Buscamos la primera letra

   for (unsigned short i = 0; i < Tamanyo; i++)
   {
       if (Correcta[0] == Palabra[i])
       {
           Indices.push(i);
       }
   }


   while (!Indices.empty())
   {
       bool Done = true;

       int Valor = Indices.front();

       // Empezamos la comparacion

       short j = 1; // La primera letra nos la saltamos

       for (unsigned short i = Valor+1; i != Valor; i++)
       {
           if (i == Tamanyo)
           {
               i = -1;
               continue;
           }

           if (Correcta[j] != Palabra[i]){ Done = false; break; }

           j++;
       }

       if (Done) return true;

       Indices.pop();
   }
   return false;
}
#564
Muy interesante.

Lo primero sería encontrar la primera letra de la palabra (en este caso la a). Posteriormente iría comprobando el resto de las letras, en el momento que una sea diferente devuelvo falso.

Me ha picado la curiosidad y lo he elaborado yo mismo ^^ :

Código (cpp) [Seleccionar]
bool Coincidencia(const char* Correcta,const char* Palabra)
{
    int Tamanyo = strlen(Correcta);
    int Indice = -1;

    // Si son de distinto tamanyo salimos

    if (Tamanyo != strlen(Palabra)) return false;

    // Buscamos la primera letra

    for (short i = 0; i < Tamanyo;i++)
    {
        if (Correcta[0] == Palabra[i])
        {
            Indice = i; // Si la encontramos, apuntamos el indice ahi
            break;
        }
    }
   
    // Si no hemos encontrado el indice...
   
    if (Indice == -1) return false;

    // Empezamos la comparacion

    short j = 1; // La primera letra nos la saltamos

    for (short i = Indice+1; i != Indice;i++)
    {
        if (i == Tamanyo){ i = -1; continue;}

        if (Correcta[j] != Palabra[i]) return false;

        j++;
    }

    return true;
}
#565
Programación C/C++ / Re: IDE para C++ 11?
30 Julio 2013, 22:34 PM
Cita de: MineHitex en 30 Julio 2013, 22:33 PM
Que es el C++ 11? Es una version de C++ o algo por el estilo? xD
gracias.
Una actualización de C++, dicho en palabras llanas.
#566
Programación C/C++ / Re: Versiones de C++???
29 Julio 2013, 23:58 PM
Los estándares son muchos en C (C90, C98...), en C++ creo que había menos...

En tal caso, deberías usar siempre el último estándar.

Cita de: Stakewinner00 en 29 Julio 2013, 23:42 PM
para definir tipos por ejemplo un unsigned short int que se llame SH no se debe usar define segun el estandar sino typedef
También se usa para hacer macros:

#define Mayor(a,b) a > b

Y para definir constantes.
#567
Programación C/C++ / Re: Versiones de C++???
29 Julio 2013, 23:37 PM
Cita de: TaLaP0 XoR BiT en 29 Julio 2013, 22:47 PMme encontre dentro de los post de este foro, que actualmente esta la version 11 de C++, eso quiere decir que anteriormente habian otras?? donde puedo encontrar informacion sobre eso y cuales son las diferencias que hay entre distintas versiones???
Sí, el lenguaje se va actualizando. Pero no se eliminan cosas, sino que se añaden cosas nuevas.

Unas de las cosas del nuevo estándar son las herramientas para threads:
http://en.cppreference.com/w/cpp/thread

O el especificidador auto para asignar el tipo de variable automáticamente (dependiendo de la asignación que le pongas). Si te interesa saber los nuevos estándares busca información sobre C++11 en google  ;)
#568
Programación C/C++ / Re: IDE para C++ 11?
29 Julio 2013, 15:01 PM
Ah bueno.

Yo lo que hize es añadir las nuevas expresiones manualmente al Codeblocks:
http://imageshack.us/a/img69/118/y0u.png

#569
Cita de: goto C en 28 Julio 2013, 22:39 PM
error C2143: error de sintaxis : falta ';' delante de 'tipo'

error C2065: 'hasta' : identificador no declarado

error C2065: 'hasta' : identificador no declarado

error C2065: 'hasta' : identificador no declarado

EDITO: he quitado el const, pero da exactamente los mismos errores.
¿Has probado el código literalmente o has hecho algun cambio?

Cita de: goto C en 28 Julio 2013, 22:39 PMEDITO 2: amchacon, muy chula tu foto, es lo menos que podemos hacer por recordar a un genio al que nunca se le ha reconocido lo suficiente su trabajo y a quien no conoce esta sociedad en que vivimos, pero sí conoce a Steve Jobs, por ejemplo.
;)
#570
Programación C/C++ / Re: IDE para C++ 11?
28 Julio 2013, 20:50 PM
Cita de: do-while en 28 Julio 2013, 20:46 PMNo se como lo harás tu. Yo sustituí la carpeta MinGW que estaba en el directorio de CodeBlocks. Luego en opciones del compilador tienes que decirle donde están los compiladores de C/C++ (y el linker? no me acuerdo, no tiene misterio alguno). Si quieres compilar en stdc++11 tendrás que activar la casilla correspondiente en opciones de compilador (stdc++11 o stdc++0x), y pasarle, como bien te ha dicho amchacon el parametro -static al enlazador para que incorpore las librerías al ejecutable, sino te encontraras con que el sistema te insulta por no tener determinadas DLLs.
Lo que hice fue duplicar la configuración del gcc. Y a continuación le cambie la ruta de los ejecutables.

Así tengo un compilador de 32 bits y otro de 64 bits.