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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 59
211  Programación / Programación C/C++ / Re: Pregunta Memoria Dinámica En "Matrices" en: 2 Diciembre 2011, 01:11 am
En el código en el main cuando llamas a malloc() lo que hace es reservar memoria para una matriz de enteros de tamaño FILAS*COLUMNAS, pero lo tratas como si fuera un vector porque en C las matrices se representan en memoria como vectores.
212  Programación / Programación C/C++ / Re: Pregunta Memoria Dinámica En "Matrices" en: 1 Diciembre 2011, 18:50 pm
2. No necesariamente se debe usar puntero a puntero, esto solo es una manera de implementarlo.

3. Con un solo malloc lo puedes hacer porque en C las matrices se representan en memoria por filas de esta manera:

1 2 3
4 5 6

En memoria sería así:

1 2 3 4 5 6

1. En el código puedes ver como se reserva una matriz dinámica sin usar puntero a puntero, como se puede tratar como una fila y bueno cualquier duda avísame se me debieron escapar muchas cosas.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define FILAS 2
  4. #define COLUMNAS 3
  5.  
  6. int matriz[FILAS][COLUMNAS] = { {1,2,3}, {4,5,6}};
  7.  
  8. int * matriz_dinamica;
  9.  
  10. /*
  11.     imprimir tratando la matriz como vector
  12. */
  13. void imprimir_vector(int vector[]){
  14.    register int i;
  15.  
  16.    for(i=0;i<FILAS*COLUMNAS;i++)
  17.        printf("%d ", vector[i]);
  18.    printf("\n");
  19. }
  20.  
  21. /*
  22.     imprimir tratando la matriz como un puntero
  23. */
  24. void imprimir_puntero(int * matriz){
  25.    register int i;
  26.  
  27.    for(i=0;i<FILAS*COLUMNAS;i++)
  28.        printf("%d ", matriz[i]);
  29.    printf("\n");
  30. }
  31.  
  32. int main()
  33. {
  34.    register int i,j;
  35.  
  36.    imprimir_vector(matriz);
  37.    imprimir_puntero(matriz);
  38.  
  39.    int (*ptr_matriz)[COLUMNAS];    // Apuntador a una matriz
  40.  
  41.    matriz_dinamica = (int*)malloc(sizeof(int)*FILAS*COLUMNAS);
  42.  
  43.    ptr_matriz = matriz_dinamica;
  44.  
  45.    ptr_matriz[0][0] = 1;
  46.    ptr_matriz[0][1] = 2;
  47.    ptr_matriz[0][2] = 3;
  48.  
  49.    ptr_matriz[1][0] = 4;
  50.    ptr_matriz[1][1] = 5;
  51.    ptr_matriz[1][2] = 6;
  52.  
  53.    for(i=0;i<FILAS;i++){
  54.        for(j=0;j<COLUMNAS;j++)
  55.            printf("%d ", ptr_matriz[i][j]);
  56.        printf("\n");
  57.    }
  58.  
  59.    free(matriz_dinamica);
  60.  
  61.    return 0;
  62. }
  63.  

NOTA: Para las matrices el compilador debe saber el numero de columnas de la matriz, ya que cuando usas el operador [] se resuelve de la siguiente manera:

Código
  1. matriz[i][j] = matriz + i * COLUMNAS + j
  2.  
213  Programación / Programación C/C++ / Re: Pasar cadena entre controles winapi en: 30 Noviembre 2011, 18:19 pm
Obtienes el texto del edit tal como lo estás haciendo y luego se lo asignas al otro edit con la siguiente función:

SetDlgItemText
214  Programación / Programación C/C++ / Re: Ayudenme con esta duda, por favor.... en: 29 Noviembre 2011, 15:26 pm
A simple vista eso no hace nada. La razón te la dejo a ti.
215  Programación / Programación C/C++ / Re: Problema al compilar un programa en C. en: 28 Noviembre 2011, 21:58 pm
Recuerda que C es sensible a las mayúsculas y minúsculas y no es lo mismo decir Printf que printf.

Código
  1. Printf("Introduzca 3 numeros: ");
216  Programación / Programación C/C++ / Re: ¿como convertir de int a char en C++? en: 28 Noviembre 2011, 21:23 pm
Hay una función NO ESTÁNDAR llamada itoa() la puedes revisar aquí

http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/

Personalmente te recomiendo que hagas tu propia función itoa que sea estándar.

EDIT:

Aquí tienes un código en C++ que convierte de entero a string:

Código
  1. string itoa(int n){
  2. string rtn;
  3. for(rtn="";n>0;rtn.insert(rtn.begin(),n%10+'0'),n/=10);
  4. return rtn;
  5. }
217  Programación / Programación C/C++ / Re: Necesito ayuda con el comando Sleep. en: 27 Noviembre 2011, 19:39 pm
Te invito a que investigues un poco sobre los temporizadores o timers y créeme que sabrás donde ponerlos.
218  Programación / Programación C/C++ / Re: Necesito ayuda con el comando Sleep. en: 27 Noviembre 2011, 19:29 pm
En ese caso no deberías usar Sleep sino un temporizador. En la API de Windows existe una función llamado SetTimer. Acá te dejo un link.

SetTimer
219  Programación / Programación C/C++ / Re: try catch en c++ (dev c++) en: 27 Noviembre 2011, 19:21 pm
Investiga un poco sobre la librería estándar ctype.h como por ejemplo estas funciones:

isalpha()
isdigit()
220  Programación / Programación C/C++ / Re: Empezando en C++ en: 27 Noviembre 2011, 19:17 pm
Personalmente te recomiendo que empieces con C y no directamente con C++ porque si comprendes C ir a C++ va a ser mucho mas sencillo, pero es tu decisión. Te recomiendo un IDE gratuito llamado Code Blocks es muy bueno. Entre esos dos links me iría por este:

http://foro.elhacker.net/programacion_cc/curso_de_programacion_en_c-t224896.0.html
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 59
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines