Gia sư Cần Thơ, Dạy Kèm Cần Thơ

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


Bài 6. Sắp xếp ma trận tăng dần theo dòng - Sử dụng thuật toán Bubble Sort

Share
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 37
Đến từ : Cần Thơ

Bài 6. Sắp xếp ma trận tăng dần theo dòng - Sử dụng thuật toán Bubble Sort

Bài gửi  admin on Thu Nov 12, 2009 11:41 am

Code:

#include <conio.h>
#include <stdio.h>
#define max 100

void NhapMaTran(int A[max][max], int m, int n)
{
   for(int i = 0; i<m ; i++)
   for(int j = 0; j<n ; j++)
   {
      printf("[%d][%d] =",i,j);
      scanf("%d", &A[i][j]);
   }
}

void XuatMaTran(int A[max][max], int m, int n)
{
   for(int i = 0; i<m ; i++)
   {
      printf("\n");
      for(int j = 0; j<n ; j++)
         printf("%d\t",A[i][j]);
   }

}
/*Sap xep ma tran tang dan theo dong*/
void BubbleSortA(int A[max][max], int m, int n)
{
   for(int k = 0; k<m ; k++)
      for(int i = 0; i<n-1 ; i++)
      for(int j = n-1; j>i ; j--)
      if(A[k][j]<A[k][j-1])
      {
         int temp = A[k][j];
         A[k][j] = A[k][j-1];
         A[k][j-1] = temp;
      }
}
void main()
{
   clrscr();
   int A[max][max], m, n;
   printf("Nhap m, n= ");
   scanf("%d%d",&m,&n);
   NhapMaTran(A,m,n);
   printf("Ma tran A vua nhap\n");
   XuatMaTran(A,m,n);
   printf("\nSap xep tang theo dong\n");
   BubbleSortA(A,m,n);
   XuatMaTran(A,m,n);
   getch();
}


Được sửa bởi Admin ngày Tue Dec 07, 2010 8:57 am; sửa lần 1.

ztanzzthanhz
Trung cấp
Trung cấp

Tổng số bài gửi : 60
Points : 100
Join date : 13/11/2009
Age : 27
Đến từ : Bến Tre

Sắp xếp ma trận tăng dần theo cột - Sử dụng thuật toán Bubble Sort

Bài gửi  ztanzzthanhz on Sun Nov 15, 2009 11:24 pm

Thầy ơi cho em ăn cắp nha thầy: Laughing

Sắp xếp ma trận tăng dần theo cột - Sử dụng thuật toán Bubble Sort
Code:

#include <conio.h>
#include <stdio.h>
#define max 100

void NhapMaTran(int A[max][max], int m, int n)
{
  for(int i = 0; i<m ; i++)
  for(int j = 0; j<n ; j++)
  {
      printf("[%d][%d] =",i,j);
      scanf("%d", &A[i][j]);
  }
}

void XuatMaTran(int A[max][max], int m, int n)
{
  for(int i = 0; i<m ; i++)
  {
      printf("\n");
      for(int j = 0; j<n ; j++)
        printf("%d\t",A[i][j]);
  }

}
/*Sap xep ma tran tang dan theo cot*/
void BubbleSortA(int A[max][max], int m, int n)
{
  for(int k = 0; k<n ; k++)
      for(int i = 0; i<m-1 ; i++)
      for(int j = m-1; j>i ; j--)
      if(A[j][k]<A[j-1][k])
      {
    int temp = A[j][k];
    A[j][k] = A[j-1][k];
    A[j-1][k] = temp;
      }
}
void main()
{
  clrscr();
  int A[max][max], m, n;
  printf("Nhap m, n= ");
  scanf("%d%d",&m,&n);
  NhapMaTran(A,m,n);
  printf("Ma tran A vua nhap\n");
  XuatMaTran(A,m,n);
  printf("\nSap xep tang theo cot\n");
  BubbleSortA(A,m,n);
  XuatMaTran(A,m,n);
  getch();
}

Thực ra em chỉ sửa lại chỗ này:
Code:

/*Sap xep ma tran tang dan theo cot*/
void BubbleSortA(int A[max][max], int m, int n)
{
  for(int k = 0; k<n ; k++)
      for(int i = 0; i<m-1 ; i++)
      for(int j = m-1; j>i ; j--)
      if(A[j][k]<A[j-1][k])
      {
    int temp = A[j][k];
    A[j][k] = A[j-1][k];
    A[j-1][k] = temp;
      }
}

Giỡn chơi chứ hok phải ăn cắp nha thầy! thầy đừng giận nha thầy! Very Happy

--------------------------
Admin: Biết cách áp dụng là tốt rùi. Học là không có gì ăn cắp cả, mình lĩnh hội được thì nó là kiến thức của mình.

    Hôm nay: Tue Dec 11, 2018 12:16 am