Rumah >pembangunan bahagian belakang >C++ >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]; }
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; }
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!