Autor
|
Tema: Ayuda para usar Algoritmo de Warshall (Leído 2,644 veces)
|
Deivbid
Desconectado
Mensajes: 6
|
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 #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 "); scanf("%d %d",&Fila,&Columna);} printf("\nCual es su peso?: "); scanf("%d",&peso); Madyacencia[Fila][Columna]=peso; } Imprimir(Nvertices,Madyacencia); return(0); }
|
|
|
En línea
|
|
|
|
0xFer
Desconectado
Mensajes: 400
|
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; int Madyacencia[4][4];
int NVectores = 4; int Madyacencia[NVectores][NVectores];
observa que no es necesario agregar el +1. más simple es todavía inicializar sus valores( o recorrerlos): int i,j; for(i = 0; i < NVertices;i++) for(j = 0; j < NVertices;j++) Madyacencia[i][j] = 0;
también puedes hacerlo con menset; http://c.conclase.net/librerias/?ansifun=memsetlo quieres imprimir?; int i,j; for(i = 0; i < NVertices;i++) for(j = 0; j < NVertices;j++)
también te sirve: printf(Madyacencia [Fila ][Columna ]);
Madyacencia[Fila][Columna] = peso;
|
|
« Última modificación: 23 Noviembre 2015, 03:15 am por 0xFer »
|
En línea
|
int getRandomNumber(){ return 4; //chosen by fair dice roll //guaranteed to be random }
|
|
|
Deivbid
Desconectado
Mensajes: 6
|
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
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
¿Qué algoritmo puede usar una clave de estas características?
Criptografía
|
NeoB
|
7
|
5,054
|
18 Noviembre 2012, 21:14 pm
por NeoB
|
|
|
Ayuda con Algoritmo de warshall
Java
|
gallagher_daniel
|
1
|
2,041
|
11 Junio 2015, 15:41 pm
por Usuario Invitado
|
|
|
Ayuda Antes de Usar el Algoritmo de Warshall
Programación C/C++
|
Deivbid
|
3
|
2,580
|
23 Noviembre 2015, 04:06 am
por 0xFer
|
|
|
Algoritmo de Floyd Warshall
Programación C/C++
|
Luisyoxd
|
1
|
3,154
|
6 Marzo 2020, 12:42 pm
por 98Fran
|
|
|
Ayuda con implementacion algoritmo warshall en C
« 1 2 »
Programación C/C++
|
luar79
|
10
|
12,788
|
19 Mayo 2022, 00:57 am
por luar79
|
|