Pagini recente » Cod sursa (job #1592832) | Cod sursa (job #1596223) | Cod sursa (job #1158239) | Cod sursa (job #1056596) | Cod sursa (job #2287676)
#include <stdio.h>
#include <stdlib.h>
int n;
int a[101][101];
void citire()
{
scanf("%d",&n);
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
{
scanf(" %d ",&a[i][j]);
}
}
void floyd()
{
for(int k = 1 ; k <=n; k++)
{
for(int i = 1; i<=n;i++)
{
for(int j = 1 ; j <=n; j++)
{
if(a[i][k] != 0 && a[k][j] != 0 && (a[i][j] > a[i][k] + a[k][j] || a[i][j] == 0) && i != j)
a[i][j] = a[i][k] + a[k][j];
}
}
}
for(int i =1 ; i <= n;i++)
{
for(int j = 1 ; j <= n; j++)
printf(" %d ",a[i][j]);
printf("\n");
}
}
int main()
{
citire();
floyd();
return 0;
}