Tboy Cá voi
Tổng số bài gửi : 178 Cảm ơn : 413 Danh vọng : 4 Join date : 03/01/2011 Age : 32 Đến từ : TPHCM
| Tiê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
| | | | | |
|