Está en la página 1de 2

PROF:SANTIAGO MOQUILLAZA HENRIQUEZ ESTRUCTURA DE DATOS

Cerradura de Warshall transitiva para saber si hay


camino entre un nodo y otro(según Kolman)
#include <iostream.h>
main()
{ int i, j, k,n,matriz[10][10];
cout<<"ingrese cantidad de nodos ";
cin>>n;
cout<<"ingrese la matriz";
for (i=1; i<=n; i++) {
for (j=1; j<=n; j++){
if (i==j){
matriz[i][j]=0;
}
else{
cout<<"a["<<i<<"]"<<"["<<j<<"]:";
cin>>matriz[i][j];
}
}
}
for (k=1; k<=n; k++){
for (i=1; i<=n; i++){
for (j=1; j<=n; j++){

matriz[i][j]=matriz[i][j]|| matriz[i][k]&&matriz[k][j];

}
}
}
for (i=1; i<=n; i++){
for (j=1; j<=n; j++){
cout<<"\n de "<<i<<" a "<<j<<" es "<<matriz[i][j];
}
}
}
PROF:SANTIAGO MOQUILLAZA HENRIQUEZ ESTRUCTURA DE DATOS

Warshall según Estructura de datos por Cairo

//cerradura transitiva de warshall para saber si hay camino entre un


//nodo y otro
#include <iostream.h>
main()
{ int i, j, k,n,matriz[10][10];
cout<<"ingrese cantidad de nodos ";
cin>>n;
cout<<"ingrese la matriz";
for (i=1; i<=n; i++) {
for (j=1; j<=n; j++){
if (i==j){
matriz[i][j]=0;
}
else{
cout<<"a["<<i<<"]"<<"["<<j<<"]:";
cin>>matriz[i][j];
}
}
}
for (k=1; k<=n; k++){
for (i=1; i<=n; i++){
for (j=1; j<=n; j++){
if(matriz[i][j]==0){
matriz[i][j]=matriz[i][k]&&matriz[k][j];
}

}
}
}
for (i=1; i<=n; i++){
for (j=1; j<=n; j++){
cout<<"\n de "<<i<<" a "<<j<<" es "<<matriz[i][j];
}
}
}

También podría gustarte