Autor
|
Tema: Ayuda con matrices de cadenas (Leído 13,467 veces)
|
negux
Desconectado
Mensajes: 63
|
Bueno como dice el titulo quisiera saber como le puedo hacer , con una matriz almacenar nombres y numeros , algo asi:
nombre1 7 8 9 nombre2 5 2 8 nombre3 7 8 10
donde nombre1 seria una posicion en memoria de la matriz, al igual que cada numero no se como almacenar los datos en la matriz.. espero me puedan ayudar
|
|
|
En línea
|
|
|
|
cbug
Desconectado
Mensajes: 147
|
Creo que deberías utilizar algo como lo siguiente: typedef char *cadena; cadena **matriz;
|
|
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
Si quieres restringirlo a enteros debes hacer vectoresde estructuras... pero si quieres trabajar los numeros como caracteres...
usa char matriz[m][n];
es decir arrays de 2 dimensiones...
Saludos...
EDITO: Esto esta errado... de cierta forma...
|
|
« Última modificación: 29 Junio 2010, 02:05 am por .:BlackCoder:. »
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
cbug
Desconectado
Mensajes: 147
|
Aquí nunca podrás almacenar una cadena como elemento de la "matriz".
|
|
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
iba a ser del tipo string, es q trabajo con c++ pero si es en C pes debe ser de 3 dimensiones... Saludos...
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
negux
Desconectado
Mensajes: 63
|
podrias explicarme un poco mas de eso de 3 dimensiones, le entiendo cuando es doble apuntador o de 2 dimensiones, pero de 3 no logro visualizarlo, y como meter datos ahi siento que seria algo asi como : char *matriz[][];
|
|
|
En línea
|
|
|
|
cbug
Desconectado
Mensajes: 147
|
Bueno si fuese en C++, tendriamos en realidad: podrias explicarme un poco mas de eso de 3 dimensiones, le entiendo cuando es doble apuntador o de 2 dimensiones, pero de 3 no logro visualizarlo, y como meter datos ahi siento que seria algo asi como : char *matriz[][]; Con esto último estaría bien. Fijate que: **matriz == matriz[][] EN CIERTO MODO. Ahora bien observa: ***matriz == *matriz[][]
|
|
« Última modificación: 29 Junio 2010, 02:12 am por cbug »
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
Imagina que una dimension es para las letras (cada palabra) la otra dimension para las palabras (como una frase, o una linea, es decir un vector de palabras) y la otra para que sean varias frases(como un vector de frases o registros)... Mas o menos asi lo puedes ver...
Saludos...
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
negux
Desconectado
Mensajes: 63
|
Bueno, un poco mas claro, ahora hice este pequeño codigo, amm si me almacena nombres y numeros, pero no se por que cuando trato de meter los datos en la matriz de forma horizontal digamos, no lo almacena, si no que lo tengo que hacer de forma vertical, espero me hayan entendido, si no aqui esta mi codigo, y ahi espero que sea mas claro: #include<stdio.h> #include<stdlib.h>
main() {
char *mat[3][3]; int i,m,n=5,j;
/*printf("Cuantos nombre quieres\n");}
scanf("%d",&num);*/
for(i=0;i<3;i++) { for(j=0;j<3;j++) { mat[j][i]=(char*)malloc(sizeof(char)*n); fflush(stdin); scanf("%s",&*mat[j][i]); /*en esta parte lo guardo de forma vertical, ya que primero incrementa j luego i, comunmente es primero i luego j } } for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%s",mat[i][j]); } printf("\n"); } getchar(); return 0; }
|
|
|
En línea
|
|
|
|
nicolas_cof
Desconectado
Mensajes: 348
Into the Wild
|
Bueno como dice el titulo quisiera saber como le puedo hacer , con una matriz almacenar nombres y numeros , algo asi:
nombre1 7 8 9 nombre2 5 2 8 nombre3 7 8 10
donde nombre1 seria una posicion en memoria de la matriz, al igual que cada numero no se como almacenar los datos en la matriz.. espero me puedan ayudar
Lo que podrias hacer es un arreglo de estructuras. typedef struct _s { char nombre1[50]; int numero1 } registro; typedef registro *matriz;
int main( void ) { matriz m; m = malloc( 5 * sizeof( registro ) ); ... } Salu10.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con cadenas.
« 1 2 3 »
Programación C/C++
|
User
|
21
|
10,424
|
17 Julio 2012, 21:44 pm
por User
|
|
|
Ayuda Acumulador de cadenas en C
Programación C/C++
|
AxelIglesias
|
1
|
1,952
|
7 Noviembre 2016, 21:42 pm
por MAFUS
|
|
|
Problema con matrices y cadenas.
Programación C/C++
|
GustavoArango
|
4
|
2,287
|
7 Mayo 2017, 18:49 pm
por engel lex
|
|
|
ayuda con las cadenas
Programación C/C++
|
piyor6
|
8
|
3,819
|
15 Abril 2018, 03:22 am
por Kenji-chan
|
|
|
Ayuda con fichero y cadenas en C
Programación C/C++
|
luar79
|
4
|
4,494
|
7 Mayo 2022, 17:56 pm
por K-YreX
|
|