Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- double myabs(double x)
- {
- if (x < 0)
- return -x;
- return x;
- }
- int main(void)
- {
- FILE *fp, *outfp;
- int n, m;
- double *a;
- if(!(fp = fopen("input.txt","r")))
- {
- return -1;
- }
- if(!(outfp = fopen("output.txt","r")))
- if (fscanf(fp, "%d%d", &n, &m) != 2)
- {
- return -1;
- }
- a = (double*) malloc(n * m * sizeof(double));
- if (a == NULL)
- {
- return -1;
- }
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- if (fscanf(fp, "%lf", &a[i*m + j]) != 1)
- {
- return -1;
- }
- }
- }
- for (int t = 0; t < m; t++)
- {
- for (int j = m - 1; j > t; j--)
- {
- double sumj = 0;
- for (int i = 0 ; i < n; i++)
- {
- sumj += myabs(a[i*m + j]);
- }
- double sumj_prev = 0;
- for (int i = 0 ; i < n; i++)
- {
- sumj_prev += myabs(a[i*m + j - 1]);
- }
- if (sumj > sumj_prev)
- {
- continue;
- }
- for (int i = 0; i < n; i++)
- {
- double temp = a[i*m + j];
- a[i*m + j] = a[i*m + j - 1];
- a[i*m + j - 1] = temp;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement