Pagini recente » Cod sursa (job #2907077) | Cod sursa (job #1033304) | Cod sursa (job #2377531) | Cod sursa (job #1168551) | Cod sursa (job #273929)
Cod sursa(job #273929)
#include <stdio.h>
#define max 101
int m[max][max];
int n,i,j,k;
void citeste () {
FILE * in = fopen("royfloyd.in", "r");
fscanf(in, "%d", &n);
for (i=1; i<=n; i++) {
for (j=1; j<=n; j++) {
m[i][j] = 32000;
}
}
for (i=1; i<=n; i++) {
for (j=1; j<=n; j++) {
fscanf(in, "%d", &m[i][j]);
}
}
fclose(in);
}
void scrie () {
FILE * out = fopen("royfloyd.out", "w");
for (i=1; i<=n; i++) {
for (j=1; j<=n; j++) {
fprintf(out, "%d ", m[i][j]);
}
fprintf(out, "\n");
}
fclose(out);
}
void rezolva () {
for (k=1; k<=n; k++) {
for (i=1; i<=n; i++) {
for (j=1; j<=n; j++) {
if (m[i][j] > m[i][k] + m[k][j]) {
m[i][j] = m[i][k] + m[k][j];
}
}
}
}
}
int main () {
citeste();
rezolva();
scrie();
return 0;
}