Maison >développement back-end >C++ >Comment fusionner deux tableaux en langage C ?

Comment fusionner deux tableaux en langage C ?

WBOY
WBOYavant
2023-09-10 09:05:021658parcourir

Comment fusionner deux tableaux en langage C ?

Prenez deux tableaux en entrée, essayez de fusionner ou de concaténer les deux tableaux et stockez le résultat dans le troisième tableau.

La logique de fusion de deux tableaux est la suivante- p>

J=0,k=0
for(i=0;i<o;i++) {// merging two arrays
   if(a[j]<=b[k]){
      c[i]=a[j];
      j++;
   } else {
      c[i]=b[k];
      k++;
   }
}

Programme

Le programme ci-dessous montre comment fusionner deux tableaux en langage de programmation C-

#include<stdio.h>
#include<stdlib.h>
int main(){
   int a[10],b[10],c[20],m,n,o,i,j,k,temp;
   printf("Enter size of Array1</p><p>");
   scanf("%d",&n);
   printf("Enter size of Array2</p><p>");
   scanf("%d",&m);
   o=m+n; //size of third array
   printf("Enter Elements of Array1</p><p>");
   for(i=0;i<n;i++){
      scanf("%d",&a[i]);
   }
   printf("Enter Elements of Array2</p><p>");
   for(i=0;i<m;i++){
      scanf("%d",&b[i]);
   }
   //sorting first array
   for(i=0;i<n;i++){
      for(j=0;j<n-1-i;j++){
         if(a[j]>a[j+1]){
            temp=a[j];
            a[j]=a[j+1];
            a[j+1]=temp;
         }
      }
   }
   //sorting second array
   for(i=0;i<m;i++){
      for(j=0;j<m-1-i;j++){
         if(b[j]>b[j+1]){
            temp=b[j];
            b[j]=b[j+1];
            b[j+1]=temp;
         }
      }
   }
   printf("Elements of Array1</p><p>");
   for(i=0;i<n;i++){
      printf("a[%d]=%d</p><p>",i,a[i]);
   }
   printf("Elements of Array2</p><p>");
   for(i=0;i<m;i++){
      printf("b[%d]=%d</p><p>",i,b[i]);
   }
   j=0;
   k=0;
   for(i=0;i<o;i++){ // merging two arrays
      if(a[j]<=b[k]){
         c[i]=a[j];
         j++;
      }
      else{
         c[i]=b[k];
         k++;
      }
   }
   printf("Merged array is :</p><p>");
   for(i=0;i<o;i++){
      printf("c[%d]=%d</p><p>",i,c[i]);
   }
}

Sortie

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant −

Enter Elements of Array1
1
2
3
4
Enter Elements of Array2
6
8
3
Elements of Array1
a[0]=1
a[1]=2
a[2]=3
a[3]=4
Elements of Array2
b[0]=3
b[1]=6
b[2]=8
Merged array is:
c[0]=1
c[1]=2
c[2]=3
c[3]=3
c[4]=4
c[5]=6
c[6]=8

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer