Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <conio.h>
- //mình lười nhập nên khai bao thêm 2 thư viện này. bạn chỉ cần
- //nhập kích thước thì sẽ có 1 mảng bất kì
- //chương trình chạy đúng nhưng sẽ phải so sánh và tính toán nhiều
- //mình chỉ sửa lại khúc so sánh. bạn thử rút gọn chương trình xuống cho tối ưu nha
- #include <Windows.h>
- #include <time.h>
- #define max 100
- typedef int matran[max][max];
- matran a;
- void nhap(matran a, int &m, int &n);
- void xuat(matran a, int m, int n);
- int tongtrendong(matran a, int m, int n);
- void hoandoidong(matran a, int m, int n, int d1, int d2);
- void saptheodongtangdan(matran a, int m, int n);
- int main()
- {
- int m, n;
- printf("CAU 7. \n\n");
- nhap(a, m, n);
- saptheodongtangdan(a, m, n);
- xuat(a, m, n);
- _getch();
- return 0;
- }
- void nhap(matran a, int &m, int &n)
- {
- printf("\nNhap so dong m = "); //m dòng
- scanf("%d", &m);
- printf("\nNhap so cot n = "); //n cột
- scanf("%d", &n);
- srand(time(NULL));
- for (int i = 0; i < m; i++)
- {
- for (int j = 0; j < n; j++)
- {
- //printf("\n a[%d][%d] = ", i, j);
- //scanf("%d", &a[i][j]);
- a[i][j] = rand() % 5;
- }
- }
- }
- void xuat(matran a, int m, int n)
- {
- for (int i = 0; i<m; i++)
- {
- for (int j = 0; j < n; j++)
- printf("\t %5d", a[i][j]);
- printf("\n");
- }
- }
- void hoanvi(int &a, int &b)
- {
- int tam = a;
- a = b;
- b = tam;
- }
- int tongtrendong(matran a, int d, int c)
- {
- //d là dòng, c là cột
- int S = 0;
- for (int j = 0; j < c; j++)
- S += a[d][j];
- return S;
- }
- void hoandoidong(matran a, int m, int n, int d1, int d2)
- {
- if ((d1 >= 0 && d1 < m) && (d2 >= 0 && d2 < m))
- {
- for (int j = 0; j < n; j++)
- {
- hoanvi(a[d1][j], a[d2][j]);
- }
- }
- }
- void saptheodongtangdan(matran a, int m, int n)
- {
- for (int i = 0; i <= m - 2; i++)
- for (int j = i + 1; j <= m - 1; j++)
- {
- if (tongtrendong(a, i, n) > tongtrendong(a, j, n))
- {
- hoandoidong(a, m, n, i, j);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement