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);
}
También pudiste haber editado el anterior tema.
printf("%d\t",Matriz[j]);
no será Matriz[i][j] ?
En mi Codigo lo tengo asi como dices
Matriz[i][j]
La verdad nose que es lo que es y esto apenas es el principio nisiquiera e agregado el warshall
(int Nvertices,int Matriz[Nvertices][Nvertices])
recuerdas que tu matriz era de [Nvertices+1][Nvertices+1] ? modifica eso y estás listo