Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <malloc.h>
- void swap(double *x, double *y) {
- double t = *x;
- *x = *y;
- *y = t;
- }
- double get_mx(double *a, int n, int m) {
- int mx = *a;
- for (int i = 1; i < n; i++) {
- if (mx < *(a + m * i))
- mx = *(a + m * i);
- }
- return mx;
- }
- void sort(double *a, int n, int m) {
- for (int i = 1; i < n; i++) {
- for (int j = 0; j < n - i; j++) {
- if (get_mx(a + j, n, m) > get_mx(a + j + 1, n, m)) {
- for (int k = 0; k < n; k++) {
- swap(a + j + k * m, a + j + 1 + k * m);
- }
- }
- }
- }
- }
- int main(void) {
- FILE* in = fopen("input.txt", "r");
- int n, m;
- fscanf(in, "%d %d", &n, &m);
- double *a = malloc(n * m * sizeof(double));
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++) {
- fscanf(in, "%f", a + i * m + j);
- }
- }
- sort(a, n, m);
- for (int i = 0; i < n; i++) {
- double ans = 0;
- for (int j = 0; j < m; j++) {
- ans += (*(a + j)) * (*(a + j + i * m));
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement