Supongamos que tenemos cuatro variables a, b, c, d y queremos realizar el intercambio de estas variables de la siguiente manera
a = b, b = c, c = d, d = a
sin usar ninguna otra variable quinta o temporal
Solución:
Paso 1. Intercambiar a y b sin usar ninguna otra variable
a = a + b
b = a – b
a = a – b
Paso 2. Intercambiar b y c sin usar ninguna otra variable
b = b + c
c = b – c
b = b – c
Paso 3. Intercambiar c y d sin usar ninguna otra variable
c = c + d
d = c – d
c = c – d
Ejemplos:
Input : a = 1, b = 2, c = 3, d = 4 Output :After swapping a = 2, b = 3, c = 4, d = 1 Input :a = 6, b = 9, c = 10, d = 50 Output : After swapping : a = 9, b = 10, c = 50, d = 6
Requisito previo: intercambiar dos variables sin variable temporal , intercambiar tres variables sin variable temporal
CPP
// CPP program to swap 4 variables without // using temporary variable. #include <bits/stdc++.h> using namespace std; void swap(int a, int b, int c, int d) { // swapping a and b variables a = a + b; b = a - b; a = a - b; // swapping b and c variables b = b + c; c = b - c; b = b - c; // swapping c and d variables c = c + d; d = c - d; c = c - d; cout << "values after swapping are : " << endl; cout << "a = " << a << endl; cout << "b = " << b << endl; cout << "c = " << c << endl; cout << "d = " << d << endl; } // Driver code int main() { // initialising variables int a = 1; int b = 2; int c = 3; int d = 4; cout << "Values before swapping are :" << endl; cout << "a = " << a << endl; cout << "b = " << b << endl; cout << "c = " << c << endl; cout << "d = " << d << endl << endl; // Function call swap(a, b, c, d); return 0; }
Java
// Java program to swap 4 variables // without using temporary variable. class GFG { static void swap(int a, int b, int c, int d) { // swapping a and b variables a = a + b; b = a - b; a = a - b; // swapping b and c variables b = b + c; c = b - c; b = b - c; // swapping c and d variables c = c + d; d = c - d; c = c - d; System.out.println("values after " + "swapping are : "); System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); } // Driver code public static void main(String[] args) { // initialising variables int a = 1; int b = 2; int c = 3; int d = 4; System.out.println("values before " + "swapping are : "); System.out.println("a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); System.out.println(""); // Function call swap(a, b, c, d); } } // This code is contributed by Smitha.
Python3
# Python 3 program to swap 4 variables # without using temporary variable. def swap(a, b, c, d): # swapping a and b variables a = a + b b = a - b a = a - b # swapping b and c variables b = b + c c = b - c b = b - c # swapping c and d variables c = c + d d = c - d c = c - d print("values after swapping are : ") print("a = ", a) print("b = ", b) print("c = ", c) print("d = ", d) # Driver code # initialising variables a = 1 b = 2 c = 3 d = 4 print("values before swapping are : ") print("a = ", a) print("b = ", b) print("c = ", c) print("d = ", d) print("") # Function call swap(a, b, c, d) # This code is contributed by Smitha.
C#
// C# program to swap 4 variables // without using temporary variable. using System; class GFG { static void swap(int a, int b, int c, int d) { // swapping a and b variables a = a + b; b = a - b; a = a - b; // swapping b and c variables b = b + c; c = b - c; b = b - c; // swapping c and d variables c = c + d; d = c - d; c = c - d; Console.WriteLine("values after " + "swapping are : "); Console.WriteLine("a = " + a); Console.WriteLine("b = " + b); Console.WriteLine("c = " + c); Console.WriteLine("d = " + d); } // Driver Code public static void Main() { // initialising variables int a = 1; int b = 2; int c = 3; int d = 4; Console.WriteLine("values before " + "swapping are : "); Console.WriteLine("a = " + a); Console.WriteLine("b = " + b); Console.WriteLine("c = " + c); Console.WriteLine("d = " + d); Console.WriteLine(""); // Function call swap(a, b, c, d); } } // This code is contributed by Smitha.
PHP
<?php // PHP program to swap 4 variables // without using temporary variable function swap($a, $b, $c, $d) { // swapping a and b variables $a = $a + $b; $b = $a - $b; $a = $a - $b; // swapping b and c variables $b = $b + $c; $c = $b - $c; $b = $b - $c; // swapping c and d variables $c = $c + $d; $d = $c - $d; $c = $c - $d; echo "values after swapping are : ","\n"; echo "a = " , $a ,"\n"; echo "b = " , $b ,"\n"; echo "c = " ,$c ,"\n"; echo "d = " , $d ,"\n"; } // Driver Code // initialising variables $a = 1; $b = 2; $c = 3; $d = 4; echo "Values before swapping are :" ,"\n"; echo "a = " , $a ,"\n"; echo "b = " ,$b,"\n"; echo "c = " , $c ,"\n"; echo "d = " , $d ,"\n","\n"; // Function call swap($a, $b, $c, $d); // This code is contributed by aj_36 ?>
Javascript
<script> // Javascript program to swap 4 variables // without using temporary variable. function swap(a, b, c, d) { // swapping a and b variables a = a + b; b = a - b; a = a - b; // swapping b and c variables b = b + c; c = b - c; b = b - c; // swapping c and d variables c = c + d; d = c - d; c = c - d; document.write("values after swapping are : " + "</br>"); document.write("a = " + a + "</br>"); document.write("b = " + b + "</br>"); document.write("c = " + c + "</br>"); document.write("d = " + d); } // initialising variables let a = 1; let b = 2; let c = 3; let d = 4; document.write("values before swapping are : " + "</br>"); document.write("a = " + a + "</br>"); document.write("b = " + b + "</br>"); document.write("c = " + c + "</br>"); document.write("d = " + d + "</br>"); document.write("" + "</br>"); // Function call swap(a, b, c, d); </script>
Values before swapping are : a = 1 b = 2 c = 3 d = 4 values after swapping are : a = 2 b = 3 c = 4 d = 1
Publicación traducida automáticamente
Artículo escrito por Shashank_Pathak y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA