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

#1161
CitarInsert
Agrega un texto a una cadena en la posición que se le indique.

void __fastcall Insert(const AnsiString& str, int index);

Lo que equivaldría:

Código (cpp) [Seleccionar]
AnsiString hex1 = "FF";
AnsiString hex2 = "FF";
hex1.Insert(hex2,hex1.Length()-1);
Funcion(hex1);


http://www.alciro.org/alciro/Programacion-cpp-Builder_12/metodos-clase-AnsiString_311.htm
#1162
Tienes que limpiar el buffer de entrada o bien usar sscanf junto a fgets:

char linea[10];
fgets(linea, sizeof(linea), stdin);
sscanf(linea, "%d",&cambiar);
#1164
Programación C/C++ / Re: Listar directorio en c
6 Febrero 2013, 15:38 PM
Código (cpp) [Seleccionar]
void listarDirectorio(string Cosa)
{
   // Variables del sistema

   WIN32_FIND_DATA findFileData;
   HANDLE          hFind;

   // Iniciamos la busqueda y le pasamos un valor a nuestro Handle

   hFind = FindFirstFile(Cosa.c_str(), &findFileData);

   // Si no existe la carpeta

   if (hFind == INVALID_HANDLE_VALUE)
   {
       std::cout << "La carpeta no existe o no se puede acceder";
   }

   else
   {
       // Si existe, pasamos al siguiente fichero (el primero solo contiene basura)

       FindNextFile(hFind, &findFileData);

       // Listamos todos los ficheros restantes

       while (FindNextFile(hFind, &findFileData) != 0)
       {
           Buffer = Cosa; // Creamos una variable de nombre con el valor del directorio
           Buffer.erase(Buffer.size()-1); // Borramos el asterisco
           Buffer += findFileData.cFileName;

           if (GetFileAttributes(Buffer.c_str()) == FILE_ATTRIBUTE_DIRECTORY)
           {
               Buffer += "\\*";
               listarDirectorio(Buffer);
           }
           else
           {
               std::cout<<Buffer<<endl;
           }
       }
   }
}


Es importante que le pases a la función la ruta "*" para que te marque la carpeta actual.
#1165
Un detalle:

Código (cpp) [Seleccionar]
 if(primernumero + segundonumero == primernumero1 + segundonumero1)
 {
            if(primernumero2 + segundonumero2 == primernumero3 + segundonumero3)

Tienes que ponerlo entre parentesis las sumas para que te coja el valor entero. Además puedes concatenar 2 ifs con un &&:

Código (cpp) [Seleccionar]
 if((primernumero + segundonumero) == (primernumero1 + (segundonumero1) && (primernumero2 + segundonumero2) == (primernumero3 + segundonumero3))

Y en cuanto al código, es muy bonito el intento (se nota que entiendes algunos conceptos) pero te faltan algunos otros... Yo que tu me miraría estos videotutoriales:
http://minidosis.org/C++/

Las mejoras que se le podrían meter al código son varias, como hacerlo más general y usar matrices y vectores. Esta es mi versión:

#include <stdio.h>
#include <stdlib.h>

// Averiguar si una matriz es magica

int ComprobarMagica(int** Matriz,unsigned int Tamanyo);

int main()
{
   unsigned int Tamanyo; // He puesto unsigned porque no vamos a usar valores negativos
   printf("Inserte el tamanyo de la matriz: ");
   scanf("%d",&Tamanyo);

   int Matriz[Tamanyo][Tamanyo]; // Creamos una matriz con el tamanyo que nos han dado

   for (unsigned int j = 0; j < Tamanyo;j++)
       for (unsigned int i = 0; i < Tamanyo;i++)
       {
           printf("\n Inserte un valor para la posicion (%d,%d)",i,j);
           scanf("%d",Matriz[i][j]);
       }

   if (ComprobarMagica(Matriz,Tamanyo) == 1)
       printf("La matriz es magica \n");
   else
       printf("La matriz no es magica :( \n");

   getchar();
   return 0;
}

int ComprobarMagica(int** Matriz,unsigned int Tamanyo)
{
   int aux[Tamanyo*2]= {0};

   // Filas

   for (unsigned int j = 0; j < Tamanyo;j++)
   {
       for (unsigned int i = 0; i < Tamanyo;i++)
           aux[j] += Matriz[i][j];

       if (aux[j] != aux[j-1])
               return 0;
   }

   // Columnas

   for (unsigned int j = 0; j < Tamanyo;j++)
   {
       for (unsigned int i = 0; i < Tamanyo;i++)
           aux[j+Tamanyo] += Matriz[j][i];

       if (aux[j+Tamanyo] != aux[j+Tamanyo-1])
               return 0;
   }
   return 1;
}


No la he probado, asi que puede que tenga algun error (además lo mío es C++ no C  :silbar:)



#1166
Añadida versión para Ubuntu ;)

Para ejecutar este programa, abra la terminal y muevase hasta el directorio del programa. Teclee ./Nombre para ejecutar.
#1167
Intenta hacerlo como puedas, si luego ya tienes alguna dudilla por el camino nos preguntas ;)
#1168
Programación C/C++ / Re: Ayuda con Archivos
4 Febrero 2013, 10:35 AM
Código (cpp) [Seleccionar]
for(i=0; i<2; i++)
{
    printf("\nVuelva a ingresar la contrasenia: ");
    fflush(stdin);
    scanf("%s", pass);
    {
        printf("\nAcceso Exitoso\n");
        return;
    }
}

No falta aquí un if?
#1169
Oo, eso es muyy raro.

Asegurate que no tienes el archivo rar abierto en segundo plano o algo parecido... De hecho, si me puedes pasar el rar mejor (asi vamos descartando cosas).
#1170
Cuando te pregunta (Ocultar o mostrar?).  Esto es lo que quiere decir:

- Si pones un cero (Ocultar) el programa te mostrara todos los ficheros VISIBLES para que selecciones cual quieres ocultar.

- Si pones un uno (Mostrar) el programa te listara todos los ficheros OCULTOS para que elijas cual quieres hacer visible.

StakeWinner, asegurate que has cogido la opcion correcta.