Título: Un struct dentro de una matriz Publicado por: freakx en 13 Enero 2012, 00:34 am En la universidad me mandaron una tarea en donde tengo qe crear una matriz de maximo 10 filas y 20 columnas y adentro de cada casillero de la matriz tengo qe guardar tres datos enteros, osea un struct dentro de una matriz
este es el codigo que llevo, todavia trabajo solamente con esas librerias. Quiero que me ayuden a como llenar la matriz con los datos haber si me pueden ayudar Citar #include<stdio.h> #include<stdlib.h> typedef struct accidente{ int lesionados; int vehiculos; int fecha; }; void Llenar(int cruce[][20],int n, int m,accidentes *R) { int i,j; for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("ingrese numero de lesionados para la interseccion entre [Avenida %d,Calle %d]: ",i,j); scanf("%d",&cruce [j].(*R).lesionados); printf("ingrese cantidad de vehiculos involucrados en la interseccion[Avenida %d,Calle %d]: ",i,j); scanf("%d",&cruce [j].(*R).vehiculos); printf("ingrese fecha del accidente en la interseccion [Avenida %d,Calle %d]: ",i,j); scanf("%d",&cruce [j].(*R).fecha); } } } void Mostrar(int a[][20],int n,int m) { int i,j; for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("A[%d,%d] = %d\n",i,j,a[j]); } } } int main() int cruce[10][20]; int n,m; printf("Ingrese cantidad de avenidas : "); scanf("%d",&n); if(n<=10) { printf("Ingrese cantidad de calles : "); scanf("%d",&m); if(m<=20) { Llenar(cruce,n,m,accidente); printf("\nMatriz A\n"); Mostrar(a,n,m); } { else printf("ingrese un numero menor a 20 "); } } { else printf("ingrese un numero menor a 10 "); } system("PAUSE"); } Título: Re: Un struct dentro de una matriz Publicado por: Alien-Z en 13 Enero 2012, 12:36 pm No comprendo muy bien qué preguntas, ¿quieres guardar en la matriz los datos según se vayan introduciendo?, en ese caso debes usar dos bucles anidados como has puesto en tu código:
Código
Pero esto no es correcto: Código: &cruce [j].(*R).lesionados En primer lugar "cruce" es una tabla bidimensional, no puedes dejar uno de los parámetros vacíos asi que debes poner también el número de filas (i): Código
No entiendo muy bien qué ese "(*R)", pero no es necesario... a la tabla debes acceder con estos códigos: Código
Lo cual tampoco te va a funcionar si no defines la tabla como tipo "accidente", es decir, asi: Código
Otra cosa es que usas variables que no has declarado, como por ejemplo la tabla "a" no está declarada en el main ni la variable "accidentes" (la primera se la pasas a la función "Mostrar" y la segunda a la función "Llenar"). Y por último en los codicionales haces lo siguiente: Código
El else no va dentro de las llaves, la estructura es siempre: Código
Con esto el programa funciona correctamente. Te he anotado los fallos pero los has cometido en varios lados del algoritmo, asi que revísalo entero. Saludos. Título: Re: Un struct dentro de una matriz Publicado por: freakx en 23 Enero 2012, 02:16 am Muchas gracias me sirvio muchisimoooo :)
|