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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 [2] 3
11  Programación / Programación C/C++ / Re: [C++ Linux] Explicación de codigo [Principiante] en: 28 Enero 2012, 18:50 pm
Antes que algo, gracias a todos por responder.

Cito:

10 % 2 es igual a 0, porque 10 / 2 = 5 y resto 0
10 % 3 es igual a 1, porque 10 / 3 = 3 y resto 1

No logro entender eso.

10 / 2 = 5... y ¿Resto 0? Eso es lo que no comprendo.

Encontré algo parecido por acá:

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <iostream.h>
  4. int main ()
  5. {
  6.    clrscr();
  7.    for (int i=1;i<=20;i++)
  8.    {
  9. cout<<i;
  10. if (i%3==0) cout<<" Es multiplo de 3" <<endl;
  11. else cout<<" No es multiplo de 3"<<endl;
  12.    }
  13.    getch();
  14.    return 0;
  15. }

No entiendo por qué i % 3 es igual a 0 o a 1. Si pudieras explicarlo con manzanas te lo agradecería... estoy confundido.

Saludos y gracias de antemano.

PD:

Xandrete, gracias por la aclaración. Aunque el compilador nunca se quejó de eso, voy a tener cuidado con lo que me dices. Y supongo que puedo prescindir de la palabra new al crear el array ¿O no?

En cuanto a donde estudiaré... pretendo estudiar en un instituto y luego saltar a la universidad, desde AIEP a Universidad Andres Bello.
12  Programación / Programación C/C++ / [C++ Linux] Explicación de codigo [Principiante] en: 28 Enero 2012, 16:56 pm
Hola a todos,
               Les cuento. Este año voy a estudiar Ingeniería en informática y estoy repasando y practicando antes de entrar para llegar con algo y se me haga más fácil. Bueno, he estado estudiando este código que es bastante simple pero hay algunas cosas que aún me complican y quisiera pedirle que me expliquen. He buscado información y leído para responder muchas de mis preguntas pero hay unas que aún no logro responder.

Bueno acá va.

Código
  1. #include<cstdlib>
  2. #include<ctime>
  3. #include<iostream>
  4. #include<iomanip>
  5. using namespace std;
  6.  
  7. int f;
  8.  
  9. bool checkrep(int n, int num[])
  10. {
  11.    for(int i = 0; i < f; i++)
  12.        if(n == num[i])
  13.            return true;
  14.    return false;
  15. }
  16.  
  17. int main()
  18. {
  19.  
  20. cout << "f = ";
  21. cin >> f;
  22.  
  23.    srand(time(NULL));
  24.    int n, i, num[f];
  25.    for(i = 0; i < f; i++)
  26.    {
  27.       do  // porque este do acá?
  28.        n = 1 + rand() % 10;  //especificamente qué hace el simbolo % acá?
  29.        while(checkrep(n, num)); // tenia entendido que luego de while se abrian llaves, por qué acá no hay?
  30.  
  31.        num[i] = n;
  32.        cout << num[i] << " - ";
  33. }
  34.  
  35. float prom, sum = 0; // esto está bien? debe ser float?
  36. int k;
  37. int nmayor = num[0];
  38.  
  39. for(i = 0; i < f; i++) {
  40.  sum = sum + num[i];
  41.  if(nmayor < num[i]) {
  42.  nmayor = num[i];
  43. }
  44. }
  45. prom = sum/f;
  46.  
  47.        cout << endl << "El mayor de los numeros es: " << nmayor << endl;
  48.        cout << "La suma de los numeros es: " << sum << endl;
  49. cout << "El promedio de los numeros es: " << setprecision(3) << prom << endl;
  50.  
  51. }
  52.  

He dejado las notas en el mismo código para que las vean y entiendan. Espero obtener la ayuda que necesito.

Gracias de antemano.



EDITO:

Ese código es un mezcla de algunos ejercicios de elhacker.net y modificaciones mías. Funciona, pero quiero saber la forma correcta de programarlo.

Estoy compilando con g++ en Debian Squeeze.
13  Programación / Desarrollo Web / Centrar etiquetas div. en: 18 Octubre 2010, 23:51 pm
.
14  Programación / Programación C/C++ / Re: Agregar registro en C++ [Devcpp] en: 13 Septiembre 2010, 17:44 pm
 Funcionó! Ahora, podrías explicarme así de manera simple qué es:

Código
  1. DWORD VALORENHEX = 0X05DC;

 Gracias
15  Programación / Programación C/C++ / Re: Agregar registro en C++ [Devcpp] en: 13 Septiembre 2010, 17:03 pm
 Necesito escribir "dc 05 00 00" y no sé como hacerlo.

 Saludos (:
16  Programación / Programación C/C++ / Agregar registro en C++ [Devcpp] en: 13 Septiembre 2010, 03:06 am
 Hola, estoy un poco complicado tratando de agregar un registro de tipo REG_BINARY. No soy para nada experto en el lenguaje, pero creo que está agregandolo como ASCII, osea, lo que ponga lo convierte a HEX y el valor del registro queda mal.

 estoy agregandolo así:
Código:
         HKEY hkey;
         RegOpenKeyEx (HKEY_LOCAL_MACHINE,"System\\",0,KEY_SET_VALUE,&hkey);
         RegSetValueEx(hkey,"Value",0,REG_BINARY,VALORENHEX,sizeof(VALORENHEX));        
         RegCloseKey(hkey);

 Cómo hago para agregarlo como hex?
 Gracias de antemano..
17  Programación / ASM / Re: Ventana en ASM en: 21 Diciembre 2009, 02:58 am
Uff, despues de unos intentos me sirvio lo que me pasaste, gracias.. pero no logré usar invoke asi que lo hice asi:
Código
  1. .codee:
  2.        push    MAX_PATH
  3.        push    buff2
  4.        push    _home
  5.        call    [GetEnvironmentVariable]
  6. .data
  7. buff2   db MAX_PATH dup (0)
  8. end data

Gracias..

Edito

Me quede sin memoria (out of memory) y le di más con FASM, ahora nose porque pero me cierra el programa y sale la ventanita de enviar informe de errores

Que tengo mal?
Código
  1. hInstance equ 0x00400000
  2. format PE GUI 4.0 at hInstance as 'exe'
  3. entry codee
  4. include 'WIN32A.INC'
  5.  
  6. section '.bss' readable writeable
  7. msg             MSG
  8. bools           db ? ; [1]Exit
  9.  
  10.  
  11. section '.text' code readable executable
  12.  
  13. codee:
  14.        push    _classname
  15.        push    0
  16.        push    0
  17.        call    [CreateMutex]
  18.        call    [GetLastError]
  19.        TEST    EAX,EAX
  20.        jnz     .fiiin
  21.        push    MAX_PATH
  22.        push    buff2
  23.        push    _home
  24.        call    [GetEnvironmentVariable]
  25.        push    DKGRAY_BRUSH
  26.        call    [GetStockObject]
  27.        mov     [wc.hbrBackground],EAX
  28.        push    IDC_ARROW
  29.        push    0
  30.        call    [LoadCursor]
  31.        mov     [wc.hCursor],EAX
  32.        push    IDI_APPLICATION
  33.        push    0
  34.        call    [LoadIcon]
  35.        mov     [wc.hIcon],EAX
  36.        push    wc
  37.        call    [RegisterClass]
  38.        push    0
  39.        push    [wc.hInstance]
  40.        push    0
  41.        push    0
  42.        push    300
  43.        push    500
  44.        push    CW_USEDEFAULT
  45.        push    CW_USEDEFAULT
  46.        push    WS_VISIBLE+WS_CAPTION+WS_SYSMENU+WS_MAXIMIZEBOX+WS_THICKFRAME
  47.        push    _title
  48.        push    _classname
  49.        push    0
  50.        call    [CreateWindowEx]
  51.        jmp     .jump0
  52.        .jump:
  53.        push    msg
  54.        call    [TranslateMessage]
  55.        push    msg
  56.        call    [DispatchMessage]
  57.        test    [bools],1
  58.        jnz     .fiiin
  59.  
  60.        .jump0:
  61.        push    0
  62.        push    0
  63.        push    0
  64.        push    msg
  65.        call    [GetMessage]
  66.        cmp     EAX,1
  67.        je      .jump
  68. .fiiin:
  69.        ret
  70.  
  71. WindowProc:
  72.        mov     EAX,DWORD PTR SS: ESP+8
  73.        cmp     EAX,WM_LBUTTONDOWN
  74.        je      .lbdwn
  75.        cmp     EAX,WM_DESTROY
  76.        je      .wm_destroy
  77.        jmp     [DefWindowProc]
  78.        .lbdwn:
  79.        push    SW_SHOWNORMAL
  80.        push    0
  81.        push    _c
  82.        push    _cmdp
  83.        push    _cmd
  84.        push    _open
  85.        push    0
  86.        call    [ShellExecute]
  87.        retn    16
  88.        .wm_destroy:
  89.        or      [bools],1
  90.        retn    16
  91.  
  92.  
  93. section '.data' writable readable
  94.  
  95. buff2           db MAX_PATH dup(0)
  96. _home           TCHAR 'HomeDrive'
  97. _open           TCHAR 'open',0
  98. _c              TCHAR 'C:\',0
  99. _cmd            TCHAR 'cmd',0
  100. _cmdp           TCHAR '/c msg * asd',0
  101. _title          TCHAR 'Program fucking',0
  102. _classname      TCHAR 'MyFuckingProgram'
  103. wc              WNDCLASS 0,WindowProc,0,0,hInstance,0,0,0,0,_classname
  104.  
  105. data import
  106.  
  107. U_KERNEL32     equ 1
  108. U_NTDLL       equ 0
  109. U_USER32       equ 1
  110. U_GDI32       equ 1
  111. U_DWM         equ 0
  112. U_SHELL32     equ 1
  113. U_ADVAPI32     equ 0
  114. U_WS2_32       equ 0
  115. U_COMCTL32     equ 0
  116. U_MSIMG32     equ 0
  117. U_MSVCRT       equ 0
  118. U_OLE32       equ 1
  119. include        'LIBS.INC'
  120.  
  121. end data
  122.  
  123.  

EAX_
18  Programación / ASM / Re: Ventana en ASM en: 20 Diciembre 2009, 23:13 pm
Sisi, recien lo saque y con un msgbox confirme que funcionó, iba a responder pero ganaste.. gracias..

EAX_
19  Programación / ASM / Re: Ventana en ASM en: 20 Diciembre 2009, 22:55 pm
Gracias por contestar, traté poniendo eso y me da error con "offset".. el error es: undefined symbol 'offset'.
Faltará algún include?

EAX_

20  Programación / ASM / Re: Ventana en ASM en: 20 Diciembre 2009, 21:13 pm
estuve buscando sobre GetWindowDirectory, leí en msdn pero no se me ocurre como poder usar lo que GetWindowDirectory devuelve.. o aunque sea imprimirlo en la ventana que tengo..

Cómo puedo hacer eso?

Código
  1. hInstance equ 0x00400000
  2. format PE GUI 4.0 at hInstance as 'exe'
  3. entry codee
  4. include 'WIN32A.INC'
  5.  
  6. section '.bss' readable writeable
  7. msg             MSG
  8. bools           db ? ; [1]Exit
  9.  
  10. section '.text' code readable executable
  11.  
  12. codee:
  13.        push    _classname
  14.        push    0
  15.        push    0
  16.        call    [CreateMutex]
  17.        call    [GetLastError]
  18.        TEST    EAX,EAX
  19.        jnz     .end
  20.        push    DKGRAY_BRUSH
  21.        call    [GetStockObject]
  22.        mov     [wc.hbrBackground],EAX
  23.        push    IDC_ARROW
  24.        push    0
  25.        call    [LoadCursor]
  26.        mov     [wc.hCursor],EAX
  27.        push    IDI_APPLICATION
  28.        push    0
  29.        call    [LoadIcon]
  30.        mov     [wc.hIcon],EAX
  31.        push    wc
  32.        call    [RegisterClass]
  33.        push    0
  34.        push    [wc.hInstance]
  35.        push    0
  36.        push    0
  37.        push    300
  38.        push    500
  39.        push    CW_USEDEFAULT
  40.        push    CW_USEDEFAULT
  41.        push    WS_VISIBLE+WS_CAPTION+WS_SYSMENU+WS_MAXIMIZEBOX
  42.        push    _title
  43.        push    _classname
  44.        push    0
  45.        call    [CreateWindowEx]
  46.        jmp     .jump0
  47.        .jump:
  48.        push    msg
  49.        call    [TranslateMessage]
  50.        push    msg
  51.        call    [DispatchMessage]
  52.        test    [bools],1
  53.        jnz     .end
  54.  
  55.        .jump0:
  56.        push    0
  57.        push    0
  58.        push    0
  59.        push    msg
  60.        call    [GetMessage]
  61.        cmp     EAX,1
  62.        je      .jump
  63. .end:
  64.        ret
  65.  
  66. WindowProc:
  67.        mov     EAX,DWORD PTR SS: ESP+8
  68.        cmp     EAX,WM_LBUTTONDOWN
  69.        je      .lbdwn
  70.        cmp     EAX,WM_DESTROY
  71.        je      .wm_destroy
  72.        jmp     [DefWindowProc]
  73.        .lbdwn:
  74.        push    0
  75.        push    _c
  76.        push    _cmdp
  77.        push    _cmd
  78.        push    _open
  79.        push    0
  80.        call    [ShellExecute]
  81.        retn    16
  82.        .wm_destroy:
  83.        or      [bools],1
  84.        retn    16
  85.  
  86.  
  87. section '.data' writable readable
  88.  
  89. _open           TCHAR 'open',0
  90. _c              TCHAR 'C:\',0
  91. _cmd            TCHAR 'cmd',0
  92. _cmdp           TCHAR '/c msg * asd',0
  93. _msgb0          TCHAR 'ALERT',0
  94. _text1          TCHAR 'Testing this program fucking',0
  95. _msgboxcnt      TCHAR 'Do not click my program fucking',0
  96. _title          TCHAR 'Program fucking',0
  97. _classname      TCHAR 'MyFuckingProgram'
  98. wc              WNDCLASS 0,WindowProc,0,0,hInstance,0,0,0,0,_classname
  99.  
  100. data import
  101.  
  102. U_KERNEL32     equ 1
  103. U_NTDLL       equ 0
  104. U_USER32       equ 1
  105. U_GDI32       equ 1
  106. U_DWM         equ 0
  107. U_SHELL32     equ 1
  108. U_ADVAPI32     equ 0
  109. U_WS2_32       equ 0
  110. U_COMCTL32     equ 0
  111. U_MSIMG32     equ 0
  112. U_MSVCRT       equ 0
  113. U_OLE32       equ 1
  114. include        'LIBS.INC'
  115.  
  116. end data
  117.  

EAX_
Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines