How to swap two numbers with calculation without using third variable in C#

5 Answers

0 votes
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n1 = Convert.ToInt32(Console.ReadLine());
            int n2 = Convert.ToInt32(Console.ReadLine());

            n1 = n1 + n2;
            n2 = n1 - n2;
            n1 = n1 - n2;

            Console.WriteLine("n1 = {0}", n1);
            Console.WriteLine("n2 = {0}", n2);
        }
    }
}

/*
run:
   
3
7
n1 = 7
n2 = 3
      
*/

 



answered Apr 20, 2017 by avibootz
0 votes
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 5, b = 13;

            a = a + b;
            b = a - b;
            a = a - b;

            Console.WriteLine("a = {0}", a);
            Console.WriteLine("b = {0}", b);
        }
    }
}

/*
run:
    
a = 13
b = 5
       
*/

 



answered May 10, 2017 by avibootz
0 votes
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 5, b = 13;

            a = a + b - (b = a);

            Console.WriteLine("a = {0}", a);
            Console.WriteLine("b = {0}", b);
        }
    }
}

/*
run:
    
a = 13
b = 5
       
*/

 



answered May 10, 2017 by avibootz
0 votes
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 5, b = 13;

            a = a ^ b;
            b = a ^ b;
            a = b ^ a;

            Console.WriteLine("a = {0}", a);
            Console.WriteLine("b = {0}", b);
        }
    }
}

/*
run:
    
a = 13
b = 5
       
*/

 



answered May 11, 2017 by avibootz
0 votes
using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 5, b = 13;

            a = b - ~a - 1;
            b = a + ~b + 1;
            a = a + ~b + 1;

            Console.WriteLine("a = {0}", a);
            Console.WriteLine("b = {0}", b);
        }
    }
}

/*
run:
    
a = 13
b = 5
       
*/

 



answered May 11, 2017 by avibootz
...