Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define M 6
- #define INF 2147483647
- int main(void) {
- int tab[M][M] = {{INF, 59, 91, 97, 85, 1},
- {13, INF, 46, 60, 5, 88},
- {44, 61, INF, 57, 71, 3},
- {50, 70, 52, INF, 99, 58},
- {37, 15, 95, 81, INF, 22},
- {27, 4, 48, 69, 66, INF}};
- int dLine[M] = {0};
- int dCol[M] = {0};
- int border = 0, counter = 0;
- for(int i = 0; i < M; i++) // Находим dLine
- {
- int LineMin = INF;
- for(int j = 0; j < M; j++)
- {
- if(tab[i][j] < LineMin) LineMin = tab[i][j];
- }
- dLine[i] = LineMin;
- }
- for(int i = 0; i < M; i++) // Вычитаем dLine
- {
- for(int j = 0; j < M; j++)
- {
- if(tab[i][j] != INF)
- tab[i][j] = tab[i][j] - dLine[i];
- }
- }
- for(int i = 0; i < M; i++) // Находим dCol
- {
- int ColMin = INF;
- for(int j = 0; j < M; j++)
- {
- if(tab[j][i] < ColMin) ColMin = tab[j][i];
- }
- dCol[i] = ColMin;
- }
- for(int i = 0; i < M; i++) // Вычитаем dCol
- {
- for(int j = 0; j < M; j++)
- {
- if(tab[j][i] != INF)
- tab[j][i] = tab[j][i] - dCol[i];
- if(tab[j][i] == 0) counter++;
- }
- }
- for(int k = 0; k < M; k++) // Вычисляем границу
- {
- border = border + dLine[k] + dCol[k];
- }
- //printf("%d\n\n\n", border);
- for(int i = 0; i < M; i++){
- for(int j = 0; j < M; j++){
- if(i == j) printf(" INF ");
- else printf("%5d ", tab[i][j]);
- }
- printf("\n");
- }
- цршду
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement