Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar nilai dua tatasusunan dalam bahasa C tanpa menggunakan pembolehubah sementara?

Bagaimana untuk menukar nilai dua tatasusunan dalam bahasa C tanpa menggunakan pembolehubah sementara?

WBOY
WBOYke hadapan
2023-09-02 22:53:031417semak imbas

Bagaimana untuk menukar nilai dua tatasusunan dalam bahasa C tanpa menggunakan pembolehubah sementara?

Tukar dua tatasusunan tanpa menggunakan pembolehubah sementara. Di sini kita akan menggunakan operator aritmetik dan bitwise dan bukannya pembolehubah ketiga.

Logik membaca tatasusunan pertama adalah seperti berikut:-

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

Logik membaca tatasusunan kedua adalah seperti berikut −

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

Logik menukar dua tatasusunan tanpa menggunakan pembolehubah ketiga adalah seperti berikut −

for(i = 0; i < size; i++){
   first[i] = first[i] + sec[i];
   sec[i] = first[i] - sec[i];
   first[i] = first[i] - sec[i];
}

Program

Berikut ialah program C untuk menukar dua tatasusunan tanpa menggunakan pembolehubah sementara:

Demo Dalam Talian

#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;
}

Output

Apabila atur cara di atas dilaksanakan, ia menghasilkan keputusan berikut −

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

Atas ialah kandungan terperinci Bagaimana untuk menukar nilai dua tatasusunan dalam bahasa C tanpa menggunakan pembolehubah sementara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam