#include <cstdio>
#include <iostream>
using namespace std;
int A[100][100];
char a[101];
int warshall(int M[100][100],int l)
{
for (int j = 0; j < l; j++)
for (int i = 0; i < l; i++)
if (M[i][j])
for (int k = 0; k < l; k++)
M[i][k] = M[i][k] || M[j][k];
return 0;
}
int main()
{
int l = 0, t= 0; //l:矩阵的宽度
cout << "请输入矩阵(无空格标点)\n";
do
{
cin >> a;
l = strlen(a);
for (int i = 0; i < l; i++)
A[t][i] = a[i] - '0';
t++;
} while (t<l);
warshall(A,l);
cout << "结果:\n";
for (int i = 0; i < l; i++)
{
for (int j = 0; j < l; j++)
cout << A[i][j]<<" ";
cout << "\n";
}
return 0;
}
最后修改:2020 年 05 月 04 日
© 允许规范转载