Trang ChínhTrang Chính  CalendarCalendar  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share | 
 

 Sắp xếp dòng - (Mảng 2 chiều - Biến đổi trên mảng)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Tboy
Cá voi
Cá voi
avatar


Nam Tổng số bài gửi : 178
Cảm ơn : 413
Danh vọng : 4
Join date : 03/01/2011
Age : 26
Đến từ : TPHCM

Bài gửiTiêu đề: Sắp xếp dòng - (Mảng 2 chiều - Biến đổi trên mảng)   Sat Feb 12, 2011 7:03 pm

Sat Feb 12, 2011 7:03 pm » Sắp xếp dòng - (Mảng 2 chiều - Biến đổi trên mảng)
Code:
//SAP XEP DONG CUA MA TRAN
#include <stdio.h>
#include <conio.h>
#define MAX 101
void NhapMT(int MT[][MAX],int Dong,int Cot);
void XuatMT(int MT[][MAX],int Dong,int Cot);
void Hoandoi(int &A,int &B);
void Sapxepdong(int MT[][MAX],int Dong,int Cot);
void Tongdong(int MT[][MAX],int Dong,int Cot);
void main()
{
   int matran[MAX][MAX],dong,cot;
//*****************************NHAP MA TRAN*************************************
   printf("\tNHAP MA TRAN\n");
   do
   {
      printf("\nNhap vao so dong va cot ma tran: ");
      scanf("%d%d",&dong,&cot);
   }while(dong<1||cot<1||dong>MAX-1||cot>MAX-1);
   NhapMT(matran,dong,cot);
   printf("Ma tran vua nhap:\n");
   XuatMT(matran,dong,cot);
//*****************************SAP XEP DONG*************************************
   printf("\n****\tSAP XEP CAC DONG CUA MA TRAN\t****\n\n");
   printf("Tong cac dong cua ma tran:\n");   
   Tongdong(matran,dong,cot);//Co the de dang kiem tra ket qua
   Sapxepdong(matran,dong,cot);
   printf("Sau khi sap xep\n");
   Tongdong(matran,dong,cot);
   getch();
}
void NhapMT(int MT[][MAX],int Dong,int Cot)
{
   for(int i=0;i<Dong;i++)
      for(int j=0;j<Cot;j++)
      {
         printf("A[%d][%d]= ",i+1,j+1);
         scanf("%d",&MT[i][j]);
      }
}
void XuatMT(int MT[][MAX],int Dong,int Cot)
{
   for(int i=0;i<Dong;i++)
   {
      for(int j=0;j<Cot;j++)
         printf("%5d",MT[i][j]);
      printf("\n");
   }
}
void Hoandoi(int &A,int &B)
{
   int t=A;
   A=B;
   B=t;
}
void Hoandoidong(int MT[][MAX],int Cot,int K1,int K2)
{
   for(int i=0;i<Cot;i++)
      Hoandoi(MT[K1][i],MT[K2][i]);
}
void Sapxepdong(int MT[][MAX],int Dong,int Cot)
{
   for(int i=0;i<Dong-1;i++)
      for(int j=i+1;j<Dong;j++)
      {
         int s1=0,s2=0;
         for(int k=0;k<Cot;k++)
         {
            s1+=MT[i][k];
            s2+=MT[j][k];
         }
         if(s2<s1)
            Hoandoidong(MT,Cot,i,j);
      }
}
void Tongdong(int MT[][MAX],int Dong,int Cot) //De kiem tra ket qua
{
   for(int i=0;i<Dong;i++)
   {
      int s=0;
      for(int j=0;j<Cot;j++)
      {
         printf("%5d",MT[i][j]);
         s+=MT[i][j];
      }
      printf("\tTong %d = %d \n",i+1,s);
   }
}


Tboy



Về Đầu Trang Go down
Xem lý lịch thành viên http://taplaptrinh.forumvi.com
 

Sắp xếp dòng - (Mảng 2 chiều - Biến đổi trên mảng)

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Cơ sở lập trình 1 :: Bài tập thực hành-