Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: bartozy en 30 Septiembre 2015, 23:46 pm



Título: CADENA EN UNA POSCISIÓN DE UNA MATRIZ
Publicado por: bartozy en 30 Septiembre 2015, 23:46 pm
hola quería de su ayuda para agregar una cadena en una posición de la matriz
he intentado hacer la asignación teniendo estas dos tipo char *matriz y *dato
pero al hacer la asignación mat[][]=dato; no lo realiza
¿alguna sugerencia?
Agregando, quisiera realizar esto sin la función strcpy de la librería string.h


Título: Re: CADENA EN UNA POSCISIÓN DE UNA MATRIZ
Publicado por: 0xFer en 1 Octubre 2015, 00:52 am
Lo que puedes hacer es un arreglo de punteros.

Código
  1. char* cadenas[10];
  2.  
  3. int i;
  4. for (i = 0; i < 10; i++)
  5. {
  6.    cadenas[i] = malloc (10 * sizeof (char)); //asignando memoria...
  7. }
  8.  
  9. //Luego ya puedes hacer las asigaciones que querías.
  10.  
  11. cadenas[0] = "Hola Mundo";
  12. cadenas[1] = "Hola C++";
  13.  
  14. printf("%s",cadenas[0]); //Imprime Hola Mundo
  15. printf("%s",cadenas[1]); //Imprime Hola C++
  16.  
  17.  

Te recomiendo que leas más sobre punteros porque en C es muy importante. lo que querias hacer es imposible sin utilizar punteros.


Título: Re: CADENA EN UNA POSCISIÓN DE UNA MATRIZ
Publicado por: bartozy en 1 Octubre 2015, 00:56 am
Lo que puedes hacer es un arreglo de punteros.

Código
  1. char* cadenas[10];
  2.  
  3. int i;
  4. for (i = 0; i < 10; i++)
  5. {
  6.    cadenas[i] = malloc (10 * sizeof (char)); //asignando memoria...
  7. }
  8.  
  9. //Luego ya puedes hacer las asigaciones que querías.
  10.  
  11. cadenas[0] = "Hola Mundo";
  12. cadenas[1] = "Hola C++";
  13.  
  14. printf("%s",cadenas[0]); //Imprime Hola Mundo
  15. printf("%s",cadenas[1]); //Imprime Hola C++
  16.  
  17.  

Te recomiendo que leas más sobre punteros porque en C es muy importante. lo que querias hacer es imposible sin utilizar punteros.


Con ello no tengo problemas, ya he podido hacer la asignación así como la marca tu programa pero el problema es en un vector bidimensional (matriz)
lo que busco hacer es una función que haga lo de strcpy.


Título: Re: CADENA EN UNA POSCISIÓN DE UNA MATRIZ
Publicado por: 0xFer en 1 Octubre 2015, 01:13 am
Muestra tu código que no logro captar lo que intentas decir  :P


Título: Re: CADENA EN UNA POSCISIÓN DE UNA MATRIZ
Publicado por: bartozy en 1 Octubre 2015, 01:26 am
Muestra tu código que no logro captar lo que intentas decir  :P


Void asignar(char *matriz[][],int filas, int columnas, char *dato){
 
matriz[filas][columnas]=dato;

}

Esa es la idea lo que quiero hacer, pero no encuento la manera, lo que necesito hacer es emular la función "strcpy" sin utilizarla, al hacerlo con un vector lo puedo hacer sin problema con el código que ya pusieron, el detalle es cuando quiero hacerlo con una matriz.