Advertisement
Guest User

Untitled

a guest
May 26th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.35 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4.  
  5. double myabs(double x)
  6. {
  7.     if (x < 0)
  8.          return -x;
  9.     return x;
  10. }
  11.  
  12. int main(void)
  13. {
  14.     FILE *fp, *outfp;
  15.     int n, m;
  16.     double *a;
  17.  
  18.     if(!(fp = fopen("input.txt","r")))
  19.     {
  20.         return -1;
  21.     }
  22.  
  23.     if(!(outfp = fopen("output.txt","r")))
  24.     if (fscanf(fp, "%d%d", &n, &m) != 2)
  25.     {
  26.         return -1;
  27.     }
  28.  
  29.     a = (double*) malloc(n * m * sizeof(double));
  30.     if (a == NULL)
  31.     {
  32.         return -1;
  33.     }
  34.  
  35.     for (int i = 0; i < n; i++)
  36.     {
  37.         for (int j = 0; j < m; j++)
  38.         {
  39.             if (fscanf(fp, "%lf", &a[i*m + j]) != 1)
  40.             {
  41.                 return -1;
  42.             }
  43.         }
  44.     }
  45.  
  46.     for (int t = 0; t < m; t++)
  47.     {
  48.         for (int j = m - 1; j > t; j--)
  49.         {
  50.             double sumj = 0;
  51.             for (int i = 0 ; i < n; i++)
  52.             {
  53.                 sumj += myabs(a[i*m + j]);
  54.             }
  55.             double sumj_prev = 0;
  56.             for (int i = 0 ; i < n; i++)
  57.             {
  58.                 sumj_prev += myabs(a[i*m + j - 1]);
  59.             }
  60.             if (sumj > sumj_prev)
  61.             {
  62.                 continue;
  63.             }
  64.             for (int i = 0; i < n; i++)
  65.             {
  66.                 double temp = a[i*m + j];
  67.                 a[i*m + j] = a[i*m + j - 1];
  68.                 a[i*m + j - 1] = temp;
  69.             }
  70.         }
  71.     }
  72.     return 0;
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement