Introducción al intercambio en C #

Como ya estamos familiarizados con C # pronunciado como lenguaje de programación C Sharp, entenderíamos directamente sobre el intercambio en C #. La palabra Intercambio nos da el mismo significado que la palabra en el diccionario de inglés. Se trata del intercambio de valores. Veamos cómo podemos hacer esta técnica usando C #.

Intercambiando 2 números

  • En el intercambio de valores entre dos variables diferentes, podemos hacerlo de 2 maneras. La primera es usar una tercera variable también conocida como variable temporal y el segundo método es sin usar ninguna otra variable.

Veamos a continuación, cómo podemos hacerlo usando una tercera variable.

Código:
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);
)
)

En el programa simple anterior, hemos tomado dos valores enteros y hemos intercambiado esos valores usando una tercera variable temporal.

Salida:

  • Ahora veamos, cómo podemos tomar los valores de las variables a través de la entrada del usuario.

Código:
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);
)
)

Aquí, hemos utilizado el método ReadLine para leer los valores de entrada del usuario. Y luego convertimos ese valor en un entero, de lo contrario lo leería como valores ASCII.

Salida:

Intente eliminando la función ToInt32 y verifique cómo actúa el programa.

  • Ahora veamos el intercambio de dos valores a través del segundo método sin usar una tercera variable:

Código:

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

Salida:

De la misma manera que arriba, como ejercicio, ¿puede intentar intercambiar dos variables sin usar la tercera variable usando los valores ingresados ​​por el usuario?

Intercambiando 3 números

  • Después de la ejecución exitosa del intercambio de 2 números, sigamos ahora con el intercambio de 3 números.

Código:

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

Como ya conocimos la técnica sobre cómo intercambiar números sin usar una tercera variable, hemos utilizado el mismo método para intercambiar 3 números. Para que quede claro, hemos mantenido las declaraciones de salida de la consola después de cada paso y hemos tomado pequeños valores para las variables, de modo que podamos entender los cálculos matemáticos reales que se procesan más fácilmente.

Salida:

  • Ahora, ¿deberíamos intentar usar los valores ingresados ​​por el usuario?

Código:
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);
)
)

Una cosa que podemos observar aquí es que la lógica es siempre la misma. Solo estamos tomando los valores dinámicos en lugar de los valores codificados para el intercambio.

Salida:

Como ha verificado, el proceso de intercambio se produce como:

  • El valor x se da a Y
  • El valor y se da a Z
  • El valor z se da a X

Perfecto verdad? Entonces, ¿podemos intentar de alguna otra manera asignar los valores? Por supuesto que sí.

  • Muy simple, solo tenemos que asignar los valores Y y Z uno tras otro o el valor Y para tomar la suma y nuevamente se puede cambiar el orden de los elementos. Veamos a continuación.

Código:
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);
)
)

La única diferencia entre los programas anteriores es la parte resaltada.

Salida:

Como se señaló anteriormente, la salida del intercambio ha cambiado a:

  • El valor x se asigna a Z
  • El valor y se asigna a X
  • El valor z se asigna a Y

Podemos intentar intercambiar tres números de otras maneras diferentes. Entonces, como ejercicio, ¿puedes intentar intercambiar 3 variables usando una cuarta variable temporal?

Conclusión: intercambio en C #

Aquí, hemos realizado con éxito diferentes técnicas de intercambio utilizando el lenguaje de programación C # para las dos variables y las tres variables. Diviértete aprendiendo C #.

Artículos recomendados

Esta es una guía para el intercambio en C #. Aquí discutimos la introducción, Intercambiar 2 números, Intercambiar 3 números con códigos y salidas. También puede consultar nuestros otros artículos relacionados para obtener más información.

  1. Variables en C #
  2. Intercambio en Python
  3. C # do-while loop
  4. Comandos C #
  5. Introducción al intercambio en C
  6. Guía para el intercambio en Java
  7. Descripción general del intercambio en C ++
  8. Intercambio en PHP
  9. Diccionario en Python