ورود

View Full Version : سوال: الگوریتم وارشال به زبان C++‎



sahar15125
یک شنبه 07 آبان 1391, 17:31 عصر
سلام
من کد زیر رو برای پیاده سازی اگوریتم وارشال نوشتم فرمول استفاده شده در اون همون فرمول کتاب مقسمی هست که برای بدست آوردن ماتریس مسیر توسط الگوریتم وارشال استفاده شده و برای این کار از سه ایندکس استفاده کرده منم مکعب گرفتم که میگن مکعب لازم نیست چیکارش باید کنم؟

[CPP]

#include <iostream.h>

void main()

{ //WarshalMatrix

int m;

cin>>m>>endl;



bool P[m][m][m+1];



for(int i=1;i<=m;i++)

{

for(int j=1;j<=m;j++)

cin>>P[i][j][1]; //read

}

for(int k=2;k<=m+1;k++)

{

for(int i=1;i<=m;i++)

{

for(int j=1;j<=m;j++)

P[i][j][k-1]=P[i][j][k-1] || (P[i][k-1][k-1] && P[k-1][j][k-1]); //Warshal

}

}

for(int i=1;i<=m;i++)

{

for(int j=1;j<=m;j++)

cout<<P[i][j][m+1]; //write

cout<<endl;

}



}