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 đề: Chẵn-Lẻ -(Mảng 1 chiều-Biến đổi trên mảng) Thu Jan 20, 2011 12:00 am | |
| | Thu Jan 20, 2011 12:00 am Chẵn-Lẻ -(Mảng 1 chiều-Biến đổi trên mảng) | | | Ý tưởng 1: Chọn các số chẵn của dãy cho vào mảng B,sau đó tìm các số lẻ cho vào sau các số chẵn đó trong mảng B.In mảng B. - Code:
-
//Sap xep mang chan truoc le sau #include <stdio.h> #include <conio.h> #define Max 10000 void Chanle(int A[],int B[],int N); void Nhapmang(int A[],int N); void Xuatmang(int A[],int N); void main() { int a[Max],b[Max],n; do { printf("Nhap vao so phan tu mang (0<=n<=%d): ",Max); scanf("%d",&n); }while(n<1||n>Max); Nhapmang(a,n); printf("Cac phan tu vua nhap: "); Xuatmang(a,n); Chanle(a,b,n); printf("\nSau khi sap xep: "); Xuatmang(b,n); printf("\nMang ban dau: "); Xuatmang(a,n); getch(); } void Nhapmang(int A[],int N) { for(int i=0;i<N;i++) { printf("a[%d]= ",i+1); scanf("%d",&A[i]); } } void Xuatmang(int A[],int N) { for(int i=0;i<N;i++) printf("%d ",A[i]); } void Chanle(int A[],int B[],int N) { int j=0; for(int i=0;i<N;i++) //Cho cac so chan mang A vao mang B if(A[i]%2==0) { B[j]=A[i]; j++; } for(int i=0;i<N;i++) //Cho tiep cac so le mang A vao B if(A[i]%2!=0) { B[j]=A[i]; j++; } }
Ý tưởng 2: Sử dụng lệnh chèn và xóa. - Code:
-
//Sap xep mang chan truoc le sau #include <stdio.h> #include <conio.h> #define Max 10000 void Copymang(int A[],int B[],int N); void Xoa(int A[],int &N,int K); void Chen(int A[],int &N,int K,int X); void Chanle(int A[],int N); void Nhapmang(int A[],int N); void Xuatmang(int A[],int N); void main() { int a[Max],b[Max],n; do { printf("Nhap vao so phan tu mang (0<=n<=%d): ",Max); scanf("%d",&n); }while(n<1||n>Max); Nhapmang(a,n); Copymang(a,b,n); printf("Cac phan tu vua nhap: "); Xuatmang(a,n); Chanle(b,n); printf("\nSau khi sap xep: "); Xuatmang(b,n); printf("\nMang ban dau: "); Xuatmang(a,n); getch(); } void Copymang(int A[],int B[],int N) { for(int i=0;i<N;i++) B[i]=A[i]; } void Nhapmang(int A[],int N) { for(int i=0;i<N;i++) { printf("a[%d]= ",i+1); scanf("%d",&A[i]); } } void Xuatmang(int A[],int N) { for(int i=0;i<N;i++) printf("%d ",A[i]); } void Xoa(int A[],int &N,int K) { for(int i=K;i<N;i++) A[i]=A[i+1]; N--; } void Chen(int A[],int &N,int K,int X) { for(int i=N;i>K;i--) A[i]=A[i-1]; A[K]=X; N++; } void Chanle(int A[],int N) { int j=0; for(int i=0;i<N;i++) if(A[i]%2==0) { Chen(A,N,j,A[i]); Xoa(A,N,i+1); j++; } }
Tboy
| | | | | |
|