Введение в подкачку в C #

Поскольку мы уже знакомы с C #, объявленным как язык программирования C Sharp, мы бы непосредственно поняли, что такое свопинг в C #. Слово Swapping дает нам то же значение, что и слово в словаре английского языка. Все дело в обмене ценностями. Давайте разберемся, как мы можем сделать эту технику, используя C #.

Обмен 2 номера

  • При обмене значениями между двумя разными переменными мы можем сделать это двумя способами. Первый - использование третьей переменной, также известной как временная переменная, а второй - без использования какой-либо другой переменной.

Давайте проверим ниже, как мы можем это сделать, используя третью переменную.

Код:
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);
)
)

В приведенной выше простой программе мы взяли два целочисленных значения и поменяли их местами с помощью 3- й временной переменной.

Выход:

  • Теперь давайте посмотрим, как мы можем получить значения переменных через пользовательский ввод.

Код:
width="638">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);
)
)

Здесь мы использовали метод ReadLine для чтения значений ввода пользователя. И затем мы преобразовали это значение в целое число, иначе оно будет считываться как значения ASCII.

Выход:

Попробуйте удалить функцию ToInt32 и проверьте, как работает программа.

  • Теперь давайте посмотрим на обмен двух значений через второй метод без использования третьей переменной:

Код:

width="638">using System;
class First (
static void Main() (
int a=85, b=58;
a=a+b;
b=ab;
a=ab;
Console.WriteLine("Values after swapping :");
Console.WriteLine("a is "+a);
Console.WriteLine("b is "+b);
)
)

Выход:

Как и в предыдущем упражнении, можете ли вы попробовать поменять местами две переменные, не используя третью переменную, используя введенные пользователем значения?

Обмен 3 номера

  • После успешного выполнения замены 2 номеров, давайте теперь перейдем к замене 3 номеров.

Код:

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);
)
)

Поскольку мы уже познакомились с техникой обмена номерами без использования третьей переменной, мы использовали тот же метод для замены 3 чисел. Для ясности, мы сохраняли операторы вывода консоли после каждого шага и принимали небольшие значения для переменных, чтобы мы могли понять реальные математические вычисления, которые обрабатываются легче.

Выход:

  • Теперь, мы должны попробовать использовать введенные пользователем значения?

Код:
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);
)
)

Здесь мы можем наблюдать одну вещь: логика всегда одна и та же. Мы просто берем динамические значения вместо жестко закодированных значений для замены.

Выход:

Как вы уже убедились, процесс обмена происходит следующим образом:

  • Значение х дается Y
  • Значение у дано Z
  • Значение z дано X

Идеально верно? Итак, можем ли мы попробовать каким-либо другим способом присвоить значения? Да конечно.

  • Все очень просто, нам просто нужно присвоить значения Y и Z одно за другим или значение Y, чтобы взять сумму, и снова можно изменить порядок элементов. Давайте посмотрим ниже.

Код:
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);
)
)

Единственная разница между вышеперечисленными программами - выделенная часть.

Выход:

Как отмечалось выше, результат обмена был изменен на:

  • Значение х назначено Z
  • Значение y присваивается X
  • Значение z присваивается Y

Мы можем попробовать поменять три числа другими способами. Итак, в качестве упражнения вы можете попробовать обменять 3 переменные, используя четвертую временную переменную?

Вывод - свопинг в C #

Здесь мы успешно применили различные методы обмена, используя язык программирования C # для обеих переменных и трех переменных. Удачи в изучении C #.

Рекомендуемые статьи

Это руководство по обмену в C #. Здесь мы обсуждаем введение, обмен номера 2, обмен номерами 3 с кодами и выходами. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-

  1. Переменные в C #
  2. Обмен в Python
  3. Цикл C # do-while
  4. Команды C #
  5. Введение в обмен в C
  6. Руководство по обмену в Java
  7. Обзор обмена в C ++
  8. Обмен в PHP
  9. Словарь в Python