Source Code in C
1: Merge 2 arrays
2: #include<stdio.h>
3: #include<stdlib.h> 4:
5: void syghonefsi(int a[],int b[],int c[],int n,int m); 6: int main()main()()
7: { 8: int n,m;
9: int *a; 10: int *b;
11: int *c; 12: int i,j,k;
13: printf("dose to megethos toy protoy pinaka:"); 14: scanf("%d",&n);
15: a=(int*)malloc(n*sizeof(int)); 16: printf("dose to megethos toy deyteroy pinaka:");
17: scanf("%d",&m); 18: b=(int*)malloc(m*sizeof(int));
19: printf("\ndose ta stoixeia ton taksinomimenon pinakon:\n"); 20: i=0;
21: while(i<n) 22: {
23: printf("a[%d]=",i); 24: scanf("%d",&a[i]);
25: ++i; 26: }
27: j=0; 28: while(j<m)
29: { 30: printf("b[%d]=",j);
31: scanf("%d",&b[j]); 32: ++j;
33: 34: }
35: syghonefsi(a,b,c,n,m); 36: k=0;
37: while(k<n+m) 38: {
39: printf("\nz[%d]=%d",k,c[k]); 40: ++k;
41: } 42: return 0;
43: } 44:
45: 46: /* Synartisi pou sygxoneyei tous taksinomimenous pinakes
47: a[i] kai b[j] se ena taksinomimeno pinaka c[k]*/ 48:
49: void syghonefsi(int a[],int b[],int c[],int n,int m) 50: {
51: int i,j,k; 52: i=0; /*diktis gia ton a[]*/
53: j=0; /*diktis gia ton b[]*/ 54: k=0; /*diktis gia ton c[]*/
55: 56: /*Oso yparxoun stoixeia stous pinakes a[i] kai b[j] na
57: topothetountai ston pinaka c[k] se auksousa seira*/ 58:
59: while((i<n)&&(j<m)) 60: {
61: if(a[i]<b[j]) 62: {
63: c[k]=a[i]; 64: ++i;
65: ++k; 66: }
67: else 68: {
69: c[k]=b[j]; 70: ++j;
71: ++k; 72: }
73: } 74: /* Stin periptosi pou teleiosoun prota ta stoixeia tou
75: tou pinaka a[] antigrafontai ta ypoloipa stoixeia 76: tou b[] ston pinaka c[]*/
77: 78: while(j<m)
79: { 80: c[k]=b[j];
81: ++j; 82: ++k;
83: } 84:
85: /* Stin periptosi pou teleiosoun prota ta stoixeia tou 86: tou pinaka b[] antigrafontai ta ypoloipa stoixeia
87: tou a[] ston pinaka c[]*/ 88: while(i<n)
89: { 90: c[k]=a[i];
91: ++i; 92: ++k;
93: } 94: }