Introdução à Troca em C #
Como já estamos familiarizados com o C # pronunciado como linguagem de programação C Sharp, entenderíamos diretamente sobre Trocar em C #. A palavra Troca nos dá o mesmo significado que a palavra no dicionário inglês. É tudo sobre a troca de valores. Vamos ver como podemos fazer essa técnica usando C #.
Troca de 2 números
- Na troca de valores entre duas variáveis diferentes, podemos fazê-lo de duas maneiras. O primeiro é usar uma terceira variável, também conhecida como variável temporária, e o segundo método, sem usar nenhuma outra variável.
Vamos verificar abaixo, como podemos fazer isso usando uma terceira variável.
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);
)
)
No programa simples acima, pegamos dois valores inteiros e trocamos esses valores usando uma 3ª variável temporária.
Resultado:
- Agora vamos ver como podemos levar os valores das variáveis através da entrada do usuário.
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);
)
)
Aqui, usamos o método ReadLine para ler os valores de entrada do usuário. E então convertemos esse valor em um número inteiro, caso contrário, ele seria lido como valores ASCII.
Resultado:
Tente remover a função ToInt32 e verifique como o programa atua.
- Agora vamos ver a troca de dois valores pelo segundo método sem usar uma terceira variável:
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);
)
)
Resultado:
Da mesma maneira que acima, como exercício, você pode tentar trocar duas variáveis sem usar a terceira variável usando valores introduzidos pelo usuário?
Troca de 3 números
- Após a execução bem-sucedida da troca de 2 números, vamos agora prosseguir com a troca 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 já conhecemos a técnica de como trocar números sem usar uma terceira variável, usamos o mesmo método na troca de 3 números. Para deixar claro, mantivemos as instruções de saída do console após cada etapa e pegamos pequenos valores para as variáveis, para que possamos entender os cálculos matemáticos reais que estão sendo processados com mais facilidade.
Resultado:
- Agora, devemos tentar usar os valores inseridos pelo usuário?
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);
)
)
Uma coisa que podemos observar aqui é que a lógica é sempre a mesma. Estamos apenas pegando os valores dinâmicos em vez dos valores codificados para troca.
Resultado:
Como você verificou, o processo de troca está acontecendo como:
- O valor x é dado a Y
- O valor y é dado a Z
- O valor z é dado a X
Perfeito né? Então, podemos tentar de outra maneira atribuir os valores? Claro que sim.
- Muito simples, basta atribuir os valores Y e Z um após o outro ou o valor Y para obter a soma e, novamente, a ordem dos elementos pode ser alterada. Vamos ver abaixo.
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);
)
)
A única diferença entre os programas acima é a parte destacada.
Resultado:
Como observado acima, o resultado da troca foi alterado para:
- O valor x é atribuído a Z
- O valor y é atribuído a X
- O valor z é atribuído a Y
Podemos tentar trocar três números de outras maneiras diferentes. Então, como exercício, você pode tentar trocar três variáveis usando uma quarta variável temporária?
Conclusão - Trocando em C #
Aqui, fizemos com sucesso diferentes técnicas de troca usando a linguagem de programação C # para as duas variáveis e três variáveis. Divirta-se aprendendo C #.
Artigos recomendados
Este é um guia para trocar em c #. Aqui discutimos a introdução, Trocando 2 números, Trocando 3 números com códigos e saídas. Você também pode consultar nossos outros artigos relacionados para saber mais.
- Variáveis em c #
- Trocando em Python
- C # do-while loop
- Comandos C #
- Introdução à Troca em C
- Guia de Troca em Java
- Visão geral da troca em C ++
- Trocando em PHP
- Dicionário em Python