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 đề: [Mảng 1 chiều]- Trộn dãy Thu Mar 10, 2011 7:32 pm | |
| | Thu Mar 10, 2011 7:32 pm [Mảng 1 chiều]- Trộn dãy | | | Đề: Nhập 2 dãy số nguyên b tăng dần và c giảm dần. Trộn 2 dãy b,c thành dãy a tăng dần (không cho phép sắp xếp trên dãy a). - Code:
-
#include <stdio.h> #include <conio.h> #define Max 100 void Nhaptang(int A[],int N); void Nhapgiam(int A[],int N); void Xuat(int A[],int N); void main() { int a[Max],b[Max],c[2*Max],k=0,i=0,j=0,m,n; //Nhap xuat day a do { printf("Nhap n: "); scanf("%d",&n); }while(n<1||n>Max); printf("Nhap day tang:\n"); Nhaptang(a,n); printf("Day vua nhap: "); Xuat(a,n); //Nhap xuat day b do { printf("Nhap m: "); scanf("%d",&m); }while(m<1||m>Max); printf("Nhap day giam:\n"); Nhapgiam(b,m); printf("Day vua nhap: "); Xuat(b,m); //Tron day while(i+j<m+n-1) { while(b[m-1-i]<a[j]) c[k++]=b[m-1-i++]; c[k++]=a[j++]; } printf("Mang tron: "); Xuat(c,n+m); } void Nhaptang(int A[],int N) { for(int i=0;i<N;i++) do { printf("A[%d]= ",i+1); scanf("%d",&A[i]); }while(A[i]<A[i-1]&&i>0); } void Nhapgiam(int A[],int N) { for(int i=0;i<N;i++) do { printf("A[%d]= ",i+1); scanf("%d",&A[i]); }while(A[i]>A[i-1]&&i>0); } void Xuat(int A[],int N) { for(int i=0;i<N;i++) printf("%d ",A[i]); printf("\n"); } - Code:
-
#include <stdio.h> #include <conio.h> #include <malloc.h> #define Max 100 int *Nhaptang(int N); int *Nhapgiam(int N); void Xuat(int A[],int N); int *Tron(int *A,int *B,int N,int M); void main() { int *a,*b,*c,k=0,i=0,j=0,m,n; //Nhap xuat day a do { printf("Nhap n: "); scanf("%d",&n); }while(n<1||n>Max); printf("Nhap day tang:\n"); a=Nhaptang(n); printf("Day vua nhap: "); Xuat(a,n); //Nhap xuat day b do { printf("Nhap m: "); scanf("%d",&m); }while(m<1||m>Max); printf("Nhap day giam:\n"); b=Nhapgiam(m); printf("Day vua nhap: "); Xuat(b,m); //Xuat day tron c=Tron(a,b,n,m); printf("Mang tron: "); Xuat(c,n+m); getch(); } int *Nhaptang(int N) { int *tmp; tmp=(int *)malloc(N*sizeof(int)); for(int i=0;i<N;i++) do { printf("A[%d]= ",i+1); scanf("%d",&tmp[i]); }while(tmp[i]<tmp[i-1]&&i>0); return tmp; } int *Nhapgiam(int N) { int *tmp; tmp=(int *)malloc(N*sizeof(int)); for(int i=0;i<N;i++) do { printf("A[%d]= ",i+1); scanf("%d",&tmp[i]); }while(tmp[i]>tmp[i-1]&&i>0); return tmp; } void Xuat(int *A,int N) { for(int i=0;i<N;i++) printf("%d ",A[i]); printf("\n"); } int *Tron(int *A,int *B,int N,int M) { int *tmp,i=0,j=0,k=0; tmp=(int *)malloc((N+M)*sizeof(int)); while(i+j<M+N-1) { while(B[M-1-i]<A[j]) tmp[k++]=B[M-1-i++]; tmp[k++]=A[j++]; } return tmp; } Tboy
| | | | | |
|