실험실 동생들이 해매고 있길래 C++ 로 간단히 짜준 Walshall Algorithm
행렬 크기를 동적으로 할당해야 하지만 그건 귀찮고해서 그냥 최대 크기를 100으로 지정해버리고 for문을 이용해서 행렬의 입력 크기를 지정해버렸다.
#include <iostream>
using namespace std;
int main(void){
int k, i, j, p;
int a[100][100];
cout << "행렬의 크기를 입력해주세요 : ";
cin >> p;
cout << "\n";
cout << "행렬 값을 입력하세요 : ";
for(i=0; i<p; i++){
for(j=0; j<p; j++){
cin >> a[i][j];
}
}
cout << "\n\n";
for (k=0; k<p; k++){
cout << "K = " << k+1 << "일때\n";
for( i=0; i<p; i++){
for (j=0; j<p; j++){
a[i][j] = a[i][j] || (a[i][k] && a[k][j]);
cout << a[i][j] << " ";
}
cout << endl;
}
cout << endl;
}
return 0;
}


댓글을 달아 주세요