Advertisement
semenrbt

komivoyajer

Mar 15th, 2020
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.59 KB | None | 0 0
  1. #include <stdio.h>
  2. #define M 6
  3. #define INF 2147483647
  4. int main(void) {
  5.   int tab[M][M] = {{INF, 59, 91, 97, 85, 1},
  6.                    {13, INF, 46, 60, 5, 88},
  7.                    {44, 61, INF, 57, 71, 3},
  8.                    {50, 70, 52, INF, 99, 58},
  9.                    {37, 15, 95, 81, INF, 22},
  10.                    {27, 4, 48, 69, 66, INF}};
  11.   int dLine[M] = {0};
  12.   int dCol[M] = {0};
  13.   int border = 0, counter = 0;
  14.  
  15.   for(int i = 0; i < M; i++) // Находим dLine
  16.   {
  17.     int LineMin = INF;
  18.     for(int j = 0; j < M; j++)
  19.     {
  20.       if(tab[i][j] < LineMin) LineMin = tab[i][j];
  21.     }
  22.     dLine[i] = LineMin;
  23.   }
  24.  
  25.   for(int i = 0; i < M; i++) // Вычитаем dLine
  26.   {
  27.     for(int j = 0; j < M; j++)
  28.     {
  29.       if(tab[i][j] != INF)
  30.         tab[i][j] = tab[i][j] - dLine[i];
  31.     }
  32.   }
  33.  
  34.   for(int i = 0; i < M; i++) // Находим dCol
  35.   {
  36.     int ColMin = INF;
  37.     for(int j = 0; j < M; j++)
  38.     {
  39.       if(tab[j][i] < ColMin) ColMin = tab[j][i];
  40.     }
  41.     dCol[i] = ColMin;
  42.   }
  43.  
  44.   for(int i = 0; i < M; i++) // Вычитаем dCol
  45.   {
  46.     for(int j = 0; j < M; j++)
  47.     {
  48.       if(tab[j][i] != INF)
  49.         tab[j][i] = tab[j][i] - dCol[i];
  50.       if(tab[j][i] == 0) counter++;
  51.     }
  52.   }
  53.  
  54.  
  55.   for(int k = 0; k < M; k++) // Вычисляем границу
  56.   {
  57.     border = border + dLine[k] + dCol[k];
  58.   }
  59.  
  60.   //printf("%d\n\n\n", border);
  61.  
  62.   for(int i = 0; i < M; i++){
  63.     for(int j = 0; j < M; j++){
  64.       if(i == j) printf(" INF ");
  65.       else printf("%5d ", tab[i][j]);
  66.     }
  67.     printf("\n");
  68.   }
  69.  
  70.  
  71.   цршду
  72.  
  73.  
  74.  
  75.  
  76.   return 0;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement