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 | 
 

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