CADENA EN UNA POSCISIÓN DE UNA MATRIZ

Iniciado por bartozy, 30 Septiembre 2015, 23:46 PM

0 Miembros y 1 Visitante están viendo este tema.

bartozy

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

0xFer

Lo que puedes hacer es un arreglo de punteros.


char* cadenas[10];

int i;
for (i = 0; i < 10; i++)
{
   cadenas[i] = malloc (10 * sizeof (char)); //asignando memoria...
}

//Luego ya puedes hacer las asigaciones que querías.

cadenas[0] = "Hola Mundo";
cadenas[1] = "Hola C++";
   
printf("%s",cadenas[0]); //Imprime Hola Mundo
printf("%s",cadenas[1]); //Imprime Hola C++



Te recomiendo que leas más sobre punteros porque en C es muy importante. lo que querias hacer es imposible sin utilizar punteros.
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

bartozy

Cita de: 0xFer en  1 Octubre 2015, 00:52 AM
Lo que puedes hacer es un arreglo de punteros.


char* cadenas[10];

int i;
for (i = 0; i < 10; i++)
{
   cadenas[i] = malloc (10 * sizeof (char)); //asignando memoria...
}

//Luego ya puedes hacer las asigaciones que querías.

cadenas[0] = "Hola Mundo";
cadenas[1] = "Hola C++";
   
printf("%s",cadenas[0]); //Imprime Hola Mundo
printf("%s",cadenas[1]); //Imprime Hola C++



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.

0xFer

Muestra tu código que no logro captar lo que intentas decir  :P
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

bartozy

Cita de: 0xFer en  1 Octubre 2015, 01:13 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.