Maison > développement back-end > C++ > le corps du texte

Comment échanger les valeurs de deux tableaux en langage C sans utiliser de variables temporaires ?

WBOY
Libérer: 2023-09-02 22:53:03
avant
1480 Les gens l'ont consulté

Comment échanger les valeurs de deux tableaux en langage C sans utiliser de variables temporaires ?

Échangez deux tableaux sans utiliser de variables temporaires. Ici, nous utiliserons des opérateurs arithmétiques et au niveau du bit au lieu de la troisième variable.

La logique de lecture du premier tableau est la suivante :-

printf("enter first array ele:</p><p>");
for(i = 0; i < size; i++){
   scanf("%d", &first[i]);
}
Copier après la connexion
Copier après la connexion

La logique de lecture du deuxième tableau est la suivante −

printf("enter first array ele:</p><p>");
for(i = 0; i < size; i++){
   scanf("%d", &first[i]);
}
Copier après la connexion
Copier après la connexion

La logique d'échange de deux tableaux sans utiliser la troisième variable est la suivante −

for(i = 0; i < size; i++){
   first[i] = first[i] + sec[i];
   sec[i] = first[i] - sec[i];
   first[i] = first[i] - sec[i];
}
Copier après la connexion

Programme

Ce qui suit est un programme C permettant d'échanger deux tableaux sans utiliser de variables temporaires :

Démo en ligne

#include<stdio.h>
int main(){
   int size, i, first[20], sec[20];
   printf("enter the size of array:");
   scanf("%d", &size);
   printf("enter first array ele:</p><p>");
   for(i = 0; i < size; i++){
      scanf("%d", &first[i]);
   }
   printf("enter second array ele:</p><p>");
   for(i = 0; i < size; i ++){
      scanf("%d", &sec[i]);
   }
   //Swapping two Arrays
   for(i = 0; i < size; i++){
      first[i] = first[i] + sec[i];
      sec[i] = first[i] - sec[i];
      first[i] = first[i] - sec[i];
   }
   printf("</p><p> first array after swapping %d elements</p><p>", size);
   for(i = 0; i < size; i ++){
      printf(" %d \t ",first[i]);
   }
   printf("sec array after Swapping %d elements</p><p>", size);
   for(i = 0; i < size; i ++){
      printf(" %d \t ",sec[i]);
   }
   return 0;
}
Copier après la connexion

Sortie

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

enter the size of array:5
enter first array ele:
11 12 13 14 15
enter second array ele:
90 80 70 60 50
first array after swapping 5 elements
90 80 70 60 50
sec array after Swapping 5 elements
11 12 13 14 15
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal