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  

Hãy sử dụng FireFox để web hiển thị tốt hơn!


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 : 25
Đế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-