|
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á: #include <stdio.h> #include <conio.h> #include <iostream.h> int main () { clrscr(); for (int i=1;i<=20;i++) { cout<<i; if (i%3==0) cout<<" Es multiplo de 3" <<endl; else cout<<" No es multiplo de 3"<<endl; } getch(); return 0; }
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. #include<cstdlib> #include<ctime> #include<iostream> #include<iomanip> using namespace std; int f; bool checkrep(int n, int num[]) { for(int i = 0; i < f; i++) if(n == num[i]) return true; return false; } int main() { cout << "f = "; cin >> f; srand(time(NULL)); int n, i, num[f]; for(i = 0; i < f; i++) { do // porque este do acá? n = 1 + rand() % 10; //especificamente qué hace el simbolo % acá? while(checkrep(n, num)); // tenia entendido que luego de while se abrian llaves, por qué acá no hay? num[i] = n; cout << num[i] << " - "; } float prom, sum = 0; // esto está bien? debe ser float? int k; int nmayor = num[0]; for(i = 0; i < f; i++) { sum = sum + num[i]; if(nmayor < num[i]) { nmayor = num[i]; } } prom = sum/f; cout << endl << "El mayor de los numeros es: " << nmayor << endl; cout << "La suma de los numeros es: " << sum << endl; cout << "El promedio de los numeros es: " << setprecision(3) << prom << endl; }
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.
|
|
|
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í: 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: .codee: push MAX_PATH push buff2 push _home call [GetEnvironmentVariable] .data buff2 db MAX_PATH dup (0) end data
Gracias.. EditoMe 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? hInstance equ 0x00400000 format PE GUI 4.0 at hInstance as 'exe' entry codee include 'WIN32A.INC' section '.bss' readable writeable msg MSG bools db ? ; [1]Exit section '.text' code readable executable codee: push _classname push 0 push 0 call [CreateMutex] call [GetLastError] TEST EAX,EAX jnz .fiiin push MAX_PATH push buff2 push _home call [GetEnvironmentVariable] push DKGRAY_BRUSH call [GetStockObject] mov [wc.hbrBackground],EAX push IDC_ARROW push 0 call [LoadCursor] mov [wc.hCursor],EAX push IDI_APPLICATION push 0 call [LoadIcon] mov [wc.hIcon],EAX push wc call [RegisterClass] push 0 push [wc.hInstance] push 0 push 0 push 300 push 500 push CW_USEDEFAULT push CW_USEDEFAULT push WS_VISIBLE+WS_CAPTION+WS_SYSMENU+WS_MAXIMIZEBOX+WS_THICKFRAME push _title push _classname push 0 call [CreateWindowEx] jmp .jump0 .jump: push msg call [TranslateMessage] push msg call [DispatchMessage] test [bools],1 jnz .fiiin .jump0: push 0 push 0 push 0 push msg call [GetMessage] cmp EAX,1 je .jump .fiiin: ret WindowProc: mov EAX,DWORD PTR SS: ESP+8 cmp EAX,WM_LBUTTONDOWN je .lbdwn cmp EAX,WM_DESTROY je .wm_destroy jmp [DefWindowProc] .lbdwn: push SW_SHOWNORMAL push 0 push _c push _cmdp push _cmd push _open push 0 call [ShellExecute] retn 16 .wm_destroy: or [bools],1 retn 16 section '.data' writable readable buff2 db MAX_PATH dup(0) _home TCHAR 'HomeDrive' _open TCHAR 'open',0 _c TCHAR 'C:\',0 _cmd TCHAR 'cmd',0 _cmdp TCHAR '/c msg * asd',0 _title TCHAR 'Program fucking',0 _classname TCHAR 'MyFuckingProgram' wc WNDCLASS 0,WindowProc,0,0,hInstance,0,0,0,0,_classname data import U_KERNEL32 equ 1 U_NTDLL equ 0 U_USER32 equ 1 U_GDI32 equ 1 U_DWM equ 0 U_SHELL32 equ 1 U_ADVAPI32 equ 0 U_WS2_32 equ 0 U_COMCTL32 equ 0 U_MSIMG32 equ 0 U_MSVCRT equ 0 U_OLE32 equ 1 include 'LIBS.INC' end data
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? hInstance equ 0x00400000 format PE GUI 4.0 at hInstance as 'exe' entry codee include 'WIN32A.INC' section '.bss' readable writeable msg MSG bools db ? ; [1]Exit section '.text' code readable executable codee: push _classname push 0 push 0 call [CreateMutex] call [GetLastError] TEST EAX,EAX jnz .end push DKGRAY_BRUSH call [GetStockObject] mov [wc.hbrBackground],EAX push IDC_ARROW push 0 call [LoadCursor] mov [wc.hCursor],EAX push IDI_APPLICATION push 0 call [LoadIcon] mov [wc.hIcon],EAX push wc call [RegisterClass] push 0 push [wc.hInstance] push 0 push 0 push 300 push 500 push CW_USEDEFAULT push CW_USEDEFAULT push WS_VISIBLE+WS_CAPTION+WS_SYSMENU+WS_MAXIMIZEBOX push _title push _classname push 0 call [CreateWindowEx] jmp .jump0 .jump: push msg call [TranslateMessage] push msg call [DispatchMessage] test [bools],1 jnz .end .jump0: push 0 push 0 push 0 push msg call [GetMessage] cmp EAX,1 je .jump .end: ret WindowProc: mov EAX,DWORD PTR SS: ESP+8 cmp EAX,WM_LBUTTONDOWN je .lbdwn cmp EAX,WM_DESTROY je .wm_destroy jmp [DefWindowProc] .lbdwn: push 0 push _c push _cmdp push _cmd push _open push 0 call [ShellExecute] retn 16 .wm_destroy: or [bools],1 retn 16 section '.data' writable readable _open TCHAR 'open',0 _c TCHAR 'C:\',0 _cmd TCHAR 'cmd',0 _cmdp TCHAR '/c msg * asd',0 _msgb0 TCHAR 'ALERT',0 _text1 TCHAR 'Testing this program fucking',0 _msgboxcnt TCHAR 'Do not click my program fucking',0 _title TCHAR 'Program fucking',0 _classname TCHAR 'MyFuckingProgram' wc WNDCLASS 0,WindowProc,0,0,hInstance,0,0,0,0,_classname data import U_KERNEL32 equ 1 U_NTDLL equ 0 U_USER32 equ 1 U_GDI32 equ 1 U_DWM equ 0 U_SHELL32 equ 1 U_ADVAPI32 equ 0 U_WS2_32 equ 0 U_COMCTL32 equ 0 U_MSIMG32 equ 0 U_MSVCRT equ 0 U_OLE32 equ 1 include 'LIBS.INC' end data
EAX_
|
|
|
|
|
|
|