Pagini recente » Cod sursa (job #678173) | Cod sursa (job #2757820) | Cod sursa (job #1943608) | Cod sursa (job #380727) | Cod sursa (job #1588113)
#include <stdio.h>
#include <stdlib.h>
int tab[101][101];
int n;
FILE *in;
FILE *out;
void read_tab()
{
int i;
int j;
fscanf(in, "%d", &n);
for(i = 0; i < n; i++)
for (j = 0; j < n; j++)
fscanf(in, "%d", tab[i] + j);
}
void write_tab()
{
int i;
int j;
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
fprintf(out, "%d ", tab[i][j]);
fprintf(out, "\n");
}
}
int roy_floyd()
{
int i;
int j;
int k;
for (k = 0; k < n; k++)
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
if (tab[i][j] > tab[i][k] + tab[k][j])
tab[i][j] = tab[i][k] + tab[k][j];
}
}
int main()
{
in = fopen("royfloyd.in", "r");
out = fopen("royfloyd.out", "w");
read_tab();
roy_floyd();
write_tab();
return (0);
}