Pagini recente » Cod sursa (job #2974022) | Cod sursa (job #1140108) | Cod sursa (job #1073761) | Cod sursa (job #412665) | Cod sursa (job #250317)
Cod sursa(job #250317)
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int a[MAX][MAX], n, rez[MAX][MAX];
void roy_floyd()
{
int i, j, k;
for (k = 0; k < n; k++)
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
if (rez[i][j] > rez[i][k] + rez[k][j] )
{
rez[i][j] = rez[i][k] + rez[k][j];
}
}
int main()
{
int i, j;
FILE *fin, *fout;
if ((fin = fopen("royfloyd.in", "r")) == NULL)
{
printf("Eroare \n");
exit(-1);
}
//read dimension of vectors
fscanf(fin, "%d", &n);
//read the vectors
for (i = 0; i<n ; i++)
for (j = 0; j < n; j++)
{
fscanf(fin, "%d", &a[i][j]);
rez[i][j] = a[i][j];
}
fclose(fin);
roy_floyd();
fout = fopen("royfloyd.out", "w");
for (i = 0; i<n ; i++)
{
for (j = 0; j < n; j++)
{
fprintf(fout, "%d ", rez[i][j]);
}
fprintf(fout,"\n");
}
fclose(fout);
return 0;
}