Úvod do swapování v C #
Jak je již známo s C # prohlášeným za programovací jazyk C Sharp, měli bychom přímo rozumět Swapování v C #. Slovo Zaměnění nám dává stejný význam jako slovo v anglickém slovníku. Je to všechno o výměně hodnot. Pojďme se dostat do toho, jak můžeme tuto techniku použít pomocí C #.
Výměna 2 čísel
- Při výměně hodnot mezi dvěma různými proměnnými to můžeme udělat dvěma způsoby. První je pomocí třetí proměnné známé také jako dočasná proměnná a druhá metoda je bez použití jakékoli jiné proměnné.
Podívejme se níže, jak to můžeme udělat pomocí třetí proměnné.
Kód: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);
)
)
Ve výše uvedeném jednoduchém programu jsme vzali dvě celočíselné hodnoty a tyto hodnoty jsme vyměnili pomocí 3. dočasné proměnné.
Výstup:
- Nyní se podívejme, jak můžeme hodnoty proměnných převzít vstupem uživatele.
Kód: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);
)
)
Zde jsme použili metodu ReadLine ke čtení vstupních hodnot uživatele. A pak jsme tuto hodnotu převedli na celé číslo, jinak by to přečetlo jako hodnoty ASCII.
Výstup:
Zkuste odebrat funkci ToInt32 a zkontrolujte, jak program funguje.
- Nyní se podívejme na výměnu dvou hodnot druhou metodou bez použití třetí proměnné:
Kód:
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);
)
)
Výstup:
Stejně jako výše, jako cvičení, můžete zkusit zaměnit dvě proměnné bez použití třetí proměnné pomocí uživatelsky zadaných hodnot?
Výměna 3 čísel
- Po úspěšném provedení výměny 2 čísel, pojďme nyní pokračovat se střídáním 3 čísel.
Kód:
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);
)
)
Protože jsme se již seznámili s technikou výměny čísel bez použití třetí proměnné, použili jsme stejnou metodu při výměně 3 čísel. Abychom to vyjasnili, uchovávali jsme příkazy výstupu konzoly po každém kroku a pro proměnné jsme brali malé hodnoty, abychom mohli lépe pochopit skutečné matematické výpočty, které se zpracovávají.
Výstup:
- Nyní bychom se měli pokusit použít hodnoty zadané uživatelem?
Kód: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);
)
)
Jedna věc, kterou zde můžeme pozorovat, je, že logika je vždy stejná. Pro výměnu bereme dynamické hodnoty namísto pevně zakódovaných hodnot.
Výstup:
Jak jste zkontrolovali, proces výměny probíhá jako:
- Hodnota x je přiřazena Y
- Hodnota y je dána Z
- Hodnota z je dána X
Perfektní, že? Můžeme se tedy pokusit jiným způsobem přiřadit hodnoty? Samozřejmě ano.
- Je to velmi jednoduché, stačí přiřadit hodnoty Y a Z jeden po druhém nebo hodnotu Y, abychom převzali součet, a opět lze změnit pořadí prvků. Podívejme se níže.
Kód: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);
)
)
Jediným rozdílem mezi výše uvedenými programy je zvýrazněná část.
Výstup:
Jak bylo uvedeno výše, výkon výměny se změnil na:
- Hodnota x je přiřazena k Z
- Hodnota y je přiřazena X
- Hodnota z je přiřazena Y
Můžeme zkusit vyměnit tři čísla jinými různými způsoby. Takže, jako cvičení, můžete zkusit zaměnit 3 proměnné pomocí čtvrté dočasné proměnné?
Závěr - Výměna v C #
Zde jsme úspěšně vytvořili různé swapovací techniky pomocí programovacího jazyka C # pro obě proměnné a tři proměnné. Bavte se učení C #.
Doporučené články
Toto je průvodce Swapováním v C #. Zde diskutujeme úvod, Výměna 2 čísel, Výměna 3 čísel s kódy a výstupy. Další informace naleznete také v dalších souvisejících článcích.
- Proměnné v C #
- Výměna v Pythonu
- C # do-while loop
- C # Příkazy
- Úvod do swapování v C
- Průvodce swapováním v Javě
- Přehled výměny v C ++
- Výměna v PHP
- Slovník v Pythonu