Swapping in C#

PHPz
Release: 2024-09-03 15:34:09
Original
813 people have browsed it

As already familiar with C# pronounced as C Sharp programming language, we would directly understand about Swapping in C#. The word Swapping gives us the same meaning as the word in the English dictionary. It is all about the interchanging of values. Let’s get into how we can do this technique using C#.

Swapping 2 Numbers

In the interchanging of values between two different variables, we can do it in 2 ways. The first is by using a third variable also known as a temporary variable and the second method is by without using any other variable.

Let’s check below, on how we can do by using a third variable.

Code:

using System;
class First {
static void Main() {
int a=75,b=84,t;
t=a;
a=b;
b=t;
Console.WriteLine("Values after swapping:");
Console.WriteLine("a is :"+a);
Console.WriteLine("b is :"+b);
}
}
Copy after login

In the above simple program, we have taken two integer values and swapped those values using a 3rd temporary variable.

Output:

Swapping in C#

  • Now let us see, How we can take the values of the variables through user input.

Code:

using System;
class First {
static void Main() {
string a,b;
int temp,c,d;
Console.Write("Enter value for a :");
a = Console.ReadLine();
c = Convert.ToInt32(a);
Console.WriteLine("A's value is {0}", c);
Console.Write("Enter value for b : ");
b = Console.ReadLine();
d = Convert.ToInt32(b);
Console.WriteLine("B's value is {0}", d);
temp=c;
c=d;
d=temp;
Console.WriteLine("Values after swapping are:");
Console.WriteLine("a is : "+c);
Console.WriteLine("b is : "+d);
}
}
Copy after login

Here, we have used the ReadLine method to read the user input values. And then we converted that value to an integer, else it would read it as ASCII values.

Output:

Swapping in C#

Try by removing the ToInt32 function and check how the program acts.

  • Now let us see swapping of two values through the second method without using a third variable:

Code:

using System;
class First {
static void Main() {
int a=85,b=58;
a=a+b;
b=a-b;
a=a-b;
Console.WriteLine("Values after swapping :");
Console.WriteLine("a is "+a);
Console.WriteLine("b is "+b);
}
}
Copy after login

Output:

Swapping in C#

In the same way as above, as an exercise, can you try swapping two variables without using the third variable using user inputted values?

Swapping 3 Numbers

  • After the successful execution of swapping of 2 numbers, let us now move on with swapping of 3 numbers.

Code:

using System;
class First {
static void Main() {
int a=4,b=5,c=6;
//swapping
a=a+b+c;
Console.WriteLine("After First step A value is "+a);
b=a-(b+c);
Console.WriteLine("After Second step B value is "+b);
c=a-(b+c);
Console.WriteLine("After Third step C value is "+c);
a=a-(b+c);
Console.WriteLine("After Fourth step A value is "+a);
Console.WriteLine("Values after swapping are:");
Console.WriteLine("a is "+a);
Console.WriteLine("b is "+b);
Console.WriteLine("c is "+c);
}
}
Copy after login

As we already got to know the technique on how to swap numbers without using a third variable, we have used the same method in swapping of 3 numbers. For making, it clear, we have kept the console output statements after each step and took small values for the variables, so that we can understand actual mathematical calculations that are being processed more easily.

Output:

Swapping in C#

  • Now, should we try using the user inputted values?

Code:

using System;
clas1s First {
static void Main() {
string a,b,c;
int x,y,z;
Console.Write("Enter value for x :");
a = Console.ReadLine();
x = Convert.ToInt32(a);
Console.WriteLine("X's value is {0}", x);
Console.Write("Enter value for y : ");
b = Console.ReadLine();
y = Convert.ToInt32(b);
Console.WriteLine("Y's value is {0}", y);
Console.Write("Enter value for z : ");
c = Console.ReadLine();
z = Convert.ToInt32(c);
Console.WriteLine("Z's value is {0}", z);
x=x+y+z;
Console.WriteLine("After Fourth step X value is "+x);
y=x-(y+z);
Console.WriteLine("After Second step Y value is "+y);
z=x-(y+z);
Console.WriteLine("After Third step Z value is "+z);
x=x-(y+z);
Console.WriteLine("After Fourth step X value is "+x);
Console.WriteLine("Values after swapping are:");
Console.WriteLine("X is : "+x);
Console.WriteLine("Y is : "+y);
Console.WriteLine("Z is : "+z);
}
}
Copy after login

One thing we can observe here is, logic is always the same. We are just taking the dynamic values instead of hardcoded values for swapping.

Output:

Swapping in C#

As you have checked, the process of swapping is happening as:

  • The x value is given to Y
  • The y value is given to Z
  • The z value is given to X

Perfect right? So, can we try in any other way of assigning the values? Of course, Yes.

  • Quite very simple, we just need to assign Y and Z values one after the other or Y value to take the sum and again the ordering of elements can be changed. Let us see below.

Code:

width="638">using System;
class First {
static void Main() {
string a,b,c;
int x,y,z;
Console.Write("Enter value for x :");
a = Console.ReadLine();
x = Convert.ToInt32(a);
Console.WriteLine("X's value is {0}", x);
Console.Write("Enter value for y : ");
b = Console.ReadLine();
y = Convert.ToInt32(b);
Console.WriteLine("Y's value is {0}", y);
Console.Write("Enter value for z : ");
c = Console.ReadLine();
z = Convert.ToInt32(c);
Console.WriteLine("Z's value is {0}", z);
x=x+y+z;
Console.WriteLine("After Fourth step X value is "+x);
z=x-(y+z);
Console.WriteLine("After Second step Z value is "+z);
y=x-(y+z);
Console.WriteLine("After Third step Y value is "+y);
x=x-(y+z);
Console.WriteLine("After Fourth step X value is "+x);
Console.WriteLine("Values after swapping are:");
Console.WriteLine("X is : "+x);
Console.WriteLine("Y is : "+y);
Console.WriteLine("Z is : "+z);
}
}
Copy after login

The only difference between the above programs is the highlighted part.

Output:

Swapping in C#

As noticed above, the output of swapping has changed to:

  • The x value is assigned to Z
  • The y value is assigned to X
  • The z value is assigned to Y

We can try swapping three numbers in other different ways. So, as an exercise can you try swapping 3 variables using a fourth temporary variable?

Conclusion- Swapping in C#

Here, we have successfully made different swapping techniques using C# programming language for both the two variables and three variables. Have fun learning C#.

The above is the detailed content of Swapping in C#. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template