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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: 1 2 3 4 5 6 [7] 8 9
61  Programación / Programación Visual Basic / ¿Números aleatorios sin repetición? en: 2 Marzo 2012, 03:59 am
Hola a todos, estoy aprendiendo a usar la función Rnd y Randomize, y quise llenar un arreglo con números desde el número 1 hasta el 40 en forma desordenada, es decir, generar dichos números mediante la función pero que no se repitan ni uno solo. Mi código es el siguiente, pero no sé porqué me genera números aleatorios repetidos, creo que algo está mal pero no lo encuentro:

Código:
Dim N, M, Al As Integer
      Dim Repite As Boolean
      Repite = False
      Randomize
         If Azar = "Sí" Then
            Aleatorios(1) = Int(40 * Rnd + 1)
            For N = 2 To 40
               Do
                  Al = Int(40 * Rnd + 1)
                  For M = 1 To N - 1
                     If Al = Aleatorios(M) Then
                        Repite = True
                     Else
                        Repite = False
                     End If
                  Next
                Loop While Not (Repite = False)
                Aleatorios(N) = Al
                MsgBox Al
            Next
         Else
            For N = 1 To 40
               Aleatorios(N) = N
            Next
         End If
62  Programación / Programación Visual Basic / ¿Programa para hacer un test de preguntas? en: 28 Febrero 2012, 20:18 pm
Hace poco he estado pensando en hacer un programa en Visual Basic 6.0 en el que vaya mostrando en pantalla completa una pregunta con sus tres alternativas. El usuario solo puede contestar usando las teclas 0, 1, 2, 3. La tecla 0 sirve para pasar a la siguiente pregunta y dejar la pregunta actual para contestarla después.

La idea que tuve fue crear un arreglo de Strings en el que almacene las preguntas. Otro arreglo de varias filas y tres columnas de String que almacena las 3 alternativas correspondiente a cada pregunta. También un Arreglo de Enteros que almacene la respuesta correcta correspondiente a cada pregunta.

Mi problema surge a partir de ahora. En el formulario en el que van a ir apareciendo las preguntas he insertado etiquetas, y pensé que mediante la propiedad Caption iba a ir mostrando las preguntas correspondientes a cada pregunta. También mi programa tenía un cuadrito picture box que se ponía rojo si la pregunta era mala y verde si la pregunta era contestada correctamente.

Ahora, he usado una estructura repetitiva for de la siguiente manera:

Código
  1. For i = 1 To 40
  2.  
  3. Pregunta.Caption = i         '// Numero de pregunta
  4. Enunciado.Caption = Preg1(i)     '// El enunciado de la pregunta
  5. Alter1.Caption = Resp1(i, 1)       '// La alternativa 1, 2, 3
  6. Alter2.Caption = Resp1(i, 2)
  7. Alter3.Caption = Resp1(i, 3)
  8.  
  9. If Not (KeyCode >= 48 And KeyCode <= 51) Then   '// solo debe reconocer 0, 1, 2, 3
  10.    KeyCode = 0
  11. Else
  12.    Respuesta = KeyCode - 48
  13.    If Respuesta = R1(i) Then
  14.        Picture2(i).BackColor = vbGreen
  15.    Else
  16.        Picture2(i).BackColor = vbRed
  17.    End If
  18. End If
  19.  


Mi duda es que no sé en qué evento poner dicho código, pues lo intenté en Keypress y vi que no aparecieron las preguntas una por una sino todas al porrazo y me mandó directamente la pregunta 40. Lo que quisiera es que el programa por cada pregunta vaya esperando a que presione una tecla y luego recien comparar con la respuesta y pintar el cuadrito según sea correcto o incorrecto. Lo de pintar el cuadrito no es problema, solo quiero saber en qué evento debo poner el código.
63  Programación / Programación General / ¿Alguien tiene idea de cómo se programaba en un inicio? en: 23 Febrero 2012, 20:10 pm
He leído que se programaba con unos y ceros y que ese lenguaje se llama Código Máquina. Pero, no lo entiendo. Al leer eso me imagino una computadora en donde hay un teclado con dos botones, el cero y el uno. Luego el programador va ingresando el cero y el uno. Y de forma mágica surge el programa deseado. ¿Alguien me aclara esta idea?
64  Foros Generales / Foro Libre / Artículo acerca de una computadora en 1977 en: 23 Febrero 2012, 20:08 pm
http://www.mimecanicapopular.com/vergral.php?n=159
65  Foros Generales / Foro Libre / ¿Megaupload volverá a funcionar? en: 22 Febrero 2012, 04:05 am
Si se acaba la Ley Sopa, ¿Megaupload volverá a funcionar?. ¿Los archivos fueron eliminados totalmente o hay alguna posibilidad que permanezcan guardados? ¿Alguien tiene alguna idea al respecto?
66  Programación / Programación General / ¿En qué circunstancias los archivos de cabecera deben de terminar en .h? en: 19 Febrero 2012, 22:59 pm
Hola a todos. Tenía entendido que en el Lenguaje C los archivos de cabecera que son incluidos en las directivas del pre-procesador de C terminaban en .h por ejemplo:
Código:
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

También, he visto que en C++ ya no deben de terminar en .h . Por ejemplo, cuando programo usando el IDE Dev c++ o Code::Blocks, incluyo para utilizar los objetos cin y cout, a la cabecera <iostream> sin la h. Y cuando necesito utilizar funciones de la biblioteca estándar de C pero en C++, incluyo sus respectivos archivos de cabecera pero con una "c" al inicio. Ejem:
#include<cstdio>
#include<cstdlib>
..

Ahora, mi duda surge en que he visto algunos textos de C++ en internet en el que las cabeceras siguen terminando en .h. Por ejemplo en Borland C++ incluyen la cabecera <iostream.h>.

Quería saber entonces ¿Cuál es la forma correcta? Muchas Gracias!!
67  Foros Generales / Foro Libre / ¿Anonymus es una creación de la CIA? en: 16 Febrero 2012, 04:54 am
Hola a todos, estuve navegando por internet y encontré un video en youtube en el que dicen que Anonymus en realidad es una creación de la CÍA para usarlos como excusa para así crear las distintas leyes con el objetivo de censurar la internet. No sé que opinen ustedes respecto a esto. Les dejo el enlace:

http://www.youtube.com/watch?v=jc-TEvKk1Mc&feature=related
68  Programación / Programación C/C++ / ¿Qué significan aquellos parámetros de la lista de argumentos del main ? en: 12 Febrero 2012, 05:23 am
Últimamente he visto que en varios códigos en vez de simplemente hacer:

Código:
int main(){
   return 0;
}

hacen:
Citar
int main(int argc, char *argv[]) {

Quisiera saber el motivo!! Muchas gracias
69  Programación / Programación C/C++ / Diferencias en el código fuente C y C++ en: 27 Enero 2012, 22:46 pm
PRIMERA PREGUNTA:
Estaba practicando en Dev-C++ 4.9.9.2 y se me ocurrió implementar un mismo programa en diferentes lenguajes: C y C++. El programa consiste en calcular el factorial de un conjunto de números desde 0 hasta n, donde n lo da el usuario.

El código fuente en C++ para el programa lo guardé en un archivo con extensión .cpp y es el siguiente:

Código:

#include <iostream>

using namespace std;

int main(){
   int n;
   long F;
   do{
      cin>>n;
      if(n<0) cout<<"El numero es incorrecto!"<<endl;
   }while(n<0);
   for(int j=0; j<=n; ++j){
      F=1;
      if(j>1){
         for(int i=1;i<=j;++i){
            F*=i;
         }
      }
      cout<<j<<"! = "<<F<<endl;
   }
   return 0;
}


El código fuente en C para el mismo programa lo guardé en un archivo con extensión .c y es el siguiente:

Código:

#include <stdio.h>

int main(){
   int n, i, j;
   long F;
   do{
      scanf("%i", &n);
      fflush(stdin);
      if(n<0) printf("El numero es incorrecto!\n");
   }while(n<0);
   for(j=0; j<=n; ++j){
      F=1;
      if(j>1){
         for(i=1; i<=j; ++i){
            F=F*i;
         }
      }
      printf("%d! = %ld\n", j, F);
   }
   return 0;
}


Lo compilé y si me funcionó. Luego lo que hice fue revisar cuánto pesaba cada uno de los archivos ejecutables generados luego de compilarlos y me dio los siguientes resultados:

El primer ejecutable (del programa hecho en C++) pesaba 464 KB y el segundo ejecutable (del programa hecho en C) pesaba  15.4 KB. Me pregunto entonces:  ¿Tanto es la diferencia de 448.6 KB? ¿Alguien sabrá como explicar esto?

SEGUNDA PREGUNTA:

Quise averiguar el tamaño de los tipos de datos con los que trabajaba en mi compilador. Así que primero en un archivo .cpp escribí el código siguiente:

Código:
#include <iostream>

using namespace std;

int main(){
   cout<<sizeof(short)<<endl;
   cout<<sizeof(int)<<endl;
   cout<<sizeof(long)<<endl;
   cout<<sizeof(long long)<<endl;
   return 0;
}

Y me arrojó de salida lo siguiente:

Citar
2
4
4
8

Si es que el tipo int y el tipo long ocupan el mismo tamaño en la memoria, entonces ¿de qué me sirve el long si me basta el int?

Algo similar hice pero en un archivo .c

Código:
#include <stdio.h>

int main(){
   printf("%hd\n", sizeof(short));
   printf("%d\n", sizeof(int));
   printf("%ld\n", sizeof(long));
   printf("%ld\n", sizeof(long long));
   return 0;
}


Y me arrojó de salida lo siguiente:

Citar
2
4
4
8

Entonces mi pregunta aquí es la misma: ¿de qué me sirve el long si me basta el int?

Y otra: ¿No sabía que el tipo long long existía en C?

Espero sus comentarios, sus respuestas y sus críticas.
70  Programación / Programación C/C++ / Ayuda. Programas para reconocer Números palíndromos. en: 9 Enero 2012, 03:48 am
Hola a todos. Estaba practicando un problema que tomaron en la competencia de programación de la ACM. El examen pertenece a la fase regional en América del Sur. La dirección es la siguiente: http://livearchive.onlinejudge.org/external/23/2389.pdf

Básicamente el problema consiste en ingresar numero n. (0<n<50000) No es necesario validar. Y el programa debe de determinar si dicho número es palíndromo (capicúa) en alguna base b (la base  2<=b<=16). El programa finaliza si el número n ingresado es 0
.

EJEMPLO DE ENTRADA:
17
19
0

EJEMPLO DE SALIDA:
Number 17 is palindrom in basis 2 4 16
Number 19 is not palindrom

Ahora les va mi código. La verdad que no le encuentro ningún error pero cuando lo mando para que me lo revisen a la página de la ACM. Me lo rechazan diciendo que es incorrecto:

Código:
# include <iostream>

using namespace std;

int main()
{
    int n;
    int aux, r, b, N, P;
    int inv;
    int ac[15];
    
    while(1)
    {
        cin>>n;
        
        if(n == 0) break;

      
        int cont = 0;

        for(b=2; b<=16; b++)
        {
            aux = n;
            N = 0;
            P = 1;
            do{
                r = aux % b;
                aux = aux / b;
                N = N + r * P;
                P = P * 10;
            }while(aux != 0);

            inv = 0;
            aux = N;
            do{
               r = aux % 10;
               inv = inv * 10 + r;
               aux = aux / 10;
            }while(aux !=0 );
            
            if(inv == N)
            {
                cont++;
                ac[cont] = b;
            }
        }
        if(cont>0)
        {
           cout<<"Number "<<n<<" is palindrom in basis";
           for(int i=1; i<=cont; i++)
           {
                cout<<" "<<ac[i];
           }
           cout<<"\n";
        }
        else
        {
            cout<<"Number "<<n<<" is not palindrom\n";
        }
    }
}


Páginas: 1 2 3 4 5 6 [7] 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines