Pagini recente » Cod sursa (job #485766) | Cod sursa (job #1912833) | Cod sursa (job #2140167) | Cod sursa (job #755721) | Cod sursa (job #625536)
Cod sursa(job #625536)
#include <stdio.h>
int matrice[105][105],n;
int citire()
{
FILE * fis;
fis = fopen("royfloyd.in","r");
fscanf(fis,"%d",&n);
for(int i=1;i<=n;i++)
for(int h=1;h<=n;h++)
fscanf(fis,"%d ",&matrice[i][h]);
fclose(fis);
return 0;
}
int prelucrare()
{
for(int a=1;a<=n;a++)
for(int b=1;b<=n;b++)
for(int c=1;c<=n;c++)
if((matrice[b][c] > matrice[b][a] + matrice[a][c] or !matrice[b][c] and b != c) and matrice[a][c] and matrice[b][a])
matrice[b][c] = matrice[b][a] + matrice[a][c];
return 0;
}
int afisare()
{
FILE * fis;
fis = fopen("royfloyd.out","w");
for(int i=1;i<=n;i++)
{
for(int h=1;h<=n;h++)
fprintf(fis,"%d ",matrice[i][h]);
fprintf(fis,"%s","\n");
}
fclose(fis);
return 0;
}
int main()
{
citire();
prelucrare();
afisare();
return 0;
}