Título: Ayuda para usar Algoritmo de Warshall Publicado por: Deivbid en 23 Noviembre 2015, 02:27 am Muy Buenas a Todos Disculpen Necesito ayuda con este codigo en lenguae C , mi intencion es crear una matriz a la cual, En los espacios que yo quiera , le pueda introducir un numero , esto es una forma de hacer una matriz de adyacencia con los pesos de los nodos/arcos de un grafo con intencion de hacer pasar esa matriz por un algoritmo de washall , EL PROBLEMA: intento llenar la matriz en los puntos donde quiero como ven en el codigo pero lo hace en lugares erroneos .... Que debo Hacer? gracias de antemano , Arriba la programacion :D
Código: #include <stdio.h> void Imprimir(int Nvertices,int Matriz[Nvertices][Nvertices]){ int i,j; for(i=0;i<=Nvertices;i++){ for(j=0;j<=Nvertices;j++){ printf("%d\t",Matriz[j]); } printf("\n"); } printf("\n\n"); } void PrepaMatriz(int Nvertices,int Madyacencia[Nvertices][Nvertices]){ int i,j; for(i=0;i<Nvertices+1;i++){ for(j=0;j<Nvertices+1;j++){ Madyacencia[j] = 0; } } } int main(){ int i,Nvertices,Fila,Columna,Narcos,peso; printf("\nBienvenido Deivbid"); printf("\nCuantos Vertices tiene tu Matriz?: "); scanf("%d",&Nvertices); int Madyacencia[Nvertices+1][Nvertices+1]; PrepaMatriz(Nvertices,Madyacencia); Imprimir(Nvertices,Madyacencia); printf("\nCuantos Arcos Tiene?: "); scanf("%d",&Narcos); for(i=1;i<=Narcos;i++){ printf("\nDonde se comunican?(poner F,C): " ); scanf("%d %d",&Fila,&Columna); if(Fila>Nvertices || Columna>Nvertices){ printf("\nError , por ahi no se puede :D"); scanf("%d %d",&Fila,&Columna);} printf("\nCual es su peso?: "); scanf("%d",&peso); Madyacencia[Fila][Columna]=peso; } Imprimir(Nvertices,Madyacencia); return(0); } Título: Re: Ayuda para usar Algoritmo de Warshall Publicado por: 0xFer en 23 Noviembre 2015, 02:44 am Utiliza la etiqueta Geshi para subir tu código, de lo contrario se pierden algunas cosas del código.
Para crear una matriz 4x4 ( una de 4 Vertices) puede usar lo siguiente; Código
Código
observa que no es necesario agregar el +1. más simple es todavía inicializar sus valores( o recorrerlos): Código
también puedes hacerlo con menset; http://c.conclase.net/librerias/?ansifun=memset lo quieres imprimir?; Código
también te sirve: Código Código
Título: Re: Ayuda para usar Algoritmo de Warshall Publicado por: Deivbid en 23 Noviembre 2015, 03:17 am Vale lo Intentare, Lo que sucede es que la matriz es de tantos vertices haya en un grafo , y me lo dan en un archivo , es decir , nose de cuento sera la matriz por eso debe ser con valores introducidos manualmente , sino los pusira como tu dices , Gracias amigo ya vuelvo a publicar el tema
|