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 | 
 

 Hoán đổi dòng, cột - (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 đề: Hoán đổi dòng, cột - (Mảng 2 chiều- Biến đổi trên mảng)   Sat Feb 12, 2011 6:07 pm

Sat Feb 12, 2011 6:07 pm » Hoán đổi dòng, cột - (Mảng 2 chiều- Biến đổi trên mảng)
Code:
//HOAN DOI DONG, COT 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 Hoandoidong(int MT[][MAX],int Cot,int K1,int K2);
void Hoandoicot(int MT[][MAX],int Dong,int K1,int K2);
void main()
{
   int matran[MAX][MAX],dong,cot,k1,k2;
//*****************************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);
//*****************************HOAN DOI DONG****************************************
   printf("\n****\tHOAN DOI 2 DONG CUA MA TRAN\t****\n\n");
   do
   {
      printf("Chon 2 dong can hoan doi: ");
      scanf("%d%d",&k1,&k2);
   }while(k1<1||k1>dong||k2<1||k2>dong);
   Hoandoidong(matran,cot,k1-1,k2-1);
   printf("Sau khi hoan doi\n");
   XuatMT(matran,dong,cot);
   getch();
//*****************************HOAN DOI COT****************************************
   printf("\n****\tHOAN DOI 2 COT CUA MA TRAN\t****\n\n");
   do
   {
      printf("Chon 2 cot can hoan doi: ");
      scanf("%d%d",&k1,&k2);
   }while(k1<1||k1>cot||k2<1||k2>cot);
   Hoandoicot(matran,dong,k1-1,k2-1);
   printf("Sau khi hoan doi\n");
   XuatMT(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 Hoandoicot(int MT[][MAX],int Dong,int K1,int K2)
{
   for(int i=0;i<Dong;i++)
      Hoandoi(MT[i][K1],MT[i][K2]);
}


Tboy



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

Hoán đổi dòng, cột - (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-