İki diziyi birleştirmek, iki ayrı diziyi tek bir dizide birleştirmek anlamına gelir. Örneğin, ilk dizi 3 elemandan ve ikinci dizi 5 elemandan oluşuyorsa, sonuçta ortaya çıkan dizi 8 elemandan oluşur. Bu elde edilen dizi, birleştirilmiş dizi olarak bilinir. Devam etmeden önce, dizi kavramına aşina değilseniz, C’deki Diziler hakkındaki makaleyi kontrol edin.
Bize iki sıralı dizi verildi ve görevimiz bu iki sıralı diziyi birleştirmek.
Girdi: Birinci Dizi: 5 4 3 2 1
İkinci Dizi: 9 8 7 6 5
Çıktı: Birleştirilmiş sıralı Dizi: 9 8 7 6 5 5 4 3 2 1
Bu yöntemde, girdi olarak iki sıralı dizi gireceğiz ve sonra bunları birleştireceğiz. Bunları birleştirdikten sonra tekrar diziyi sıralayacağız ve çıktıyı görüntüleyeceğiz.
Aşağıdaki programda ilk olarak iki diziyi bildiriyor ve başlatıyoruz. Şimdi bu dizileri birleştirin ve ardından diziyi sıralayın.
C Kodu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include <stdio.h> int main() { int n1,n2,n3; printf("\nDizi Boyutunu Girin "); scanf("%d",&n1); printf("\nİkinci Dizinin Boyutunu Girin "); scanf("%d",&n2); n3=n1+n2; printf("\nDizi Elemanlarını Gİrin "); int a[n1],b[n2],c[n3]; for(int i=0;i<n1;i++) { scanf("%d",&a[i]); c[i]=a[i]; } int k=n1; printf("\nDizi Elemanlarını Girin"); for(int i=0;i<n2;i++) { scanf("%d",&b[i]); c[k]=b[i]; k++; } printf("\nDizileri Birleştir .\n"); for(int i=0;i<n3;i++) printf("%d ",c[i]); printf("\nSıraladıktan Sonra Liste...\n"); for(int i=0;i<n3;i++) { int temp; for(int j=i+1; j<n3 ;j++) { if(c[i]<c[j]) { temp=c[i]; c[i]=c[j]; c[j]=temp; } } } for(int i=0 ; i<n3 ; i++) //Birleştirilmiş Diziyi Yazdır { printf(" %d ",c[i]); } return 0; } |
Çıktı:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Dizi Boyutunu Girin 5 İkinci Dizinin Boyutunu Girin 4 Dizi Elemanlarını Gİrin 30 20 10 50 40 Dizi Elemanlarını Girin8 50 1 100 |