Hàm hoán đổi giá trị 2 số nguyên.

Yêu cầu:

–  Khai báo 2 biến được gán giá trị ban đầu.

– Viết hàm đổi chỗ giá trị của 2 biến cho nhau

Giải thuật:

– Ta viết hàm với tham số truyền vào là 2 biến được khai báo. Như các bạn đã biết, nếu truyền tham trị, sẽ không thể thay đổi giá trị của chúng được. Muốn thay đổi được giá trị của 2 biến truyền vào, chúng ta cần truyền tham biến [con trỏ + tham chiếu].

Code:

/************************************************************ * Author: VNCODING * History * 2014/10/05 first create VNCODING *************************************************************/ #include "stdio.h" #include "conio.h" void swap[int *a, int *b]; void main[] { int a = 6, b = 10; printf["\nTruoc khi doi cho: a = %d, b = %d", a, b]; swap[&a, &b]; printf["\nSau khi doi cho: a = %d, b = %d", a, b]; getch[]; } void swap[int *a, int *b] { int temp; temp = *a; *a = *b; *b = temp; }

Kết quả:

Truoc khi doi cho: a = 6, b = 10 Sau khi doi cho: a = 10, b = 6

Trong bài viết này mình sẽ hướng dẫn các bạn các cách hoán đổi hai biến trong C#. Hai biến này có thể là kiểu số hoặc kiểu chuỗi, ví dụ ta có số a = 5 và b = 8 thì sau khi hoán đổi thì a = 8 và b = 5.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong chương trình sau, mình sẽ khai báo và sử dụng một biến thứ ba là temp, có cùng kiểu dữ liệu với hai số number1 và number2. Giả sử number1 = 10 và number2 = 20.

Bây giờ chúng ta sẽ bắt đầu viết thuật toán để hoán đổi, gán temp = number1 [temp = 10]. Tiếp tục gán number1 = number2 [number1 = 20] và cuối cùng là number2 = temp [number2 = 10].

Khi đó chúng ta chỉ việc hiển thị hai số number1 và number2 ra màn hình là xong.

Bài viết này được đăng tại [free tuts .net]

using System; namespace ConsoleApp5 { class Program { static void Main[string[] args] { //khai báo ba biến number1, number2 và temp int number1 = 10, number2 = 20, temp = 0; //hiển thị hai số trước khi hoán đổi Console.WriteLine[$"Truoc khi hoan doi: number1= {number1}, number2 = {number2}"]; temp = number1; //temp = 10 number1 = number2; //number1 = 20 number2 = temp; //number2 = 10 Console.WriteLine[$"Sau khi hoan doi: number1= {number1}, number2 = {number2}"]; Console.ReadKey[]; } } }

Kết quả:

2. Hoán đổi hai số không sử dụng biến thứ ba trong C#

Để hoán đổi hai số không sử dụng biến thứ ba thì ta có thể thực hiện bằng hai cách. Cách thứ nhất là sử dụng hai toán tử "+" và "-", cách thứ hai là sử dụng hai toán từ "*" và "/". Trong phần này mình sẽ thực hiện cả hai cách để các bạn có thể so sánh nhé.

Hoán đổi hai số sử dụng toán tử "+" và "-"

Giả sử ta có hai biến number1 = 10 và number2 = 20, khi đó thuật toán để hoán đổi hai số sẽ được thực hiện như sau:

  1. number1 = number1 + number2 [khi đó number1 sẽ là 10 + 20 = 30].
  2. number2 = number1 - number2 [khi đó number2 sẽ là 30 - 20 = 10].
  3. number1 = number1 - number2 [khi đó number1 sẽ là 30 - 10 - 20].

Như vậy sau khi hoán đổi thì ta thấy number1 = 20 và number2 = 10, kết quả đã được hoán đổi so với kết quả ban đầu là number1 = 10 và number2 = 20.

using System; namespace ConsoleApp5 { class Program { static void Main[string[] args] { Console.WriteLine["-------------- Hoan doi hai so su dung toan tu + va - --------------"]; //khai báo hai biến number1, number2 int number1 = 10, number2 = 20; //hiển thị hai số trước khi hoán đổi Console.WriteLine[$"Truoc khi hoan doi: number1= {number1}, number2 = {number2}"]; number1 = number1 + number2; // number1 = 30 [10 + 20] number2 = number1 - number2; // number2 = 10 [30-20] number1 = number1 - number2; // number1 = 20 [30-10] Console.WriteLine[$"Sau khi hoan doi: number1= {number1}, number2 = {number2}"]; Console.ReadKey[]; } } }

Kết quả:

Hoán đổi hai số sử dụng toán tử "*" và "/"

Tương tự như vây, ta cũng sẽ thực hiện hoán đổi hai số bằng toán tử "*" và "/".

using System; namespace ConsoleApp5 { class Program { static void Main[string[] args] { Console.WriteLine["-------------- Hoan doi hai so su dung toan tu * va / --------------"]; //khai báo hai biến number1, number2 int number1 = 10, number2 = 20; //hiển thị hai số trước khi hoán đổi Console.WriteLine[$"Truoc khi hoan doi: number1= {number1}, number2 = {number2}"]; number1 = number1 * number2; // number1 = 200 [10 * 20] number2 = number1 / number2; // number2 = 10 [200 / 20] number1 = number1 / number2; // number1 = 20 [200 / 10] Console.WriteLine[$"Sau khi hoan doi: number1= {number1}, number2 = {number2}"]; Console.ReadKey[]; } } }

Kết quả:

3. Hoán đổi hai chuỗi trong C#

Trong phần này mình sẽ thực hiện chương trình để hoán đổi hai chuỗi có sẵn là name1 và name2. Việc hoán đổi hai chuỗi nó cũng khá giống với hoán đổi hai số, các bạn cùng xem đoạn code dưới đây để hiểu hơn.

using System; namespace ConsoleApp5 { class Program { static void Main[string[] args] { string name1 = "Freetuts.net", name2 = "Tutorials"; Console.WriteLine[$"Truoc khi hoan doi: name1 = {name1}, name2 = {name2}"]; // Bước 1: gộp hai chuỗi thành một chuỗi và lưu nó vào chuỗi thứ nhất name1 = name1 + name2; //Bước 2: sử dụng phương thức substring để tách chuỗi dựa vào độ dài của hai chuỗi name2 = name1.Substring[0, name1.Length - name2.Length]; //Bước 3: tương tự như vậy ta cũng sủ dụng phương thức substring[] để tách chuỗi thứ nhất name1 = name1.Substring[name2.Length]; Console.WriteLine[$"Sau khi hoan doi: name1 = {name1}, name2 = {name2}"]; Console.ReadKey[]; } } }

Kết quả:

Trên đây là các cách đẻ hoán đổi hai số hoặc hai chuỗi khác nhau, tuy đây là bài tập đơn giản nhưng rất quan trong. Các bạn hãy luyện tập thật nhiều để thành thạo nó nhé, chúc các bạn thành công!!!

Trong bài tập này chúng ta sẽ thực hiện chương trình hoán đổi hai số sử dụng con trỏ C++. Đây là một bài tập đơn giản giúp các bạn làm quen với con trỏ trong C++.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Để làm được bài tập này các bạn cần có kiến thức căn bản về C++ như cách tạo hàm và sử dụng hàm và hiểu được cách hoạt động của con trỏ p.

Chương trình hoán đổi hai số sử dụng con trỏ trong C++

Trong ví dụ này chúng ta sẽ tạo một hàm swap[] để thực hiện công việc hoán đổi. Sau khi viết được hàm swap[] chúng ta sẽ viết tiếp hàm main[]. Trong hàm main[] chúng ta sẽ yêu cầu người dùng nhập vào hai số cần hoán đổi. Tiếp đến sẽ gọi hàm swap[] để thực hiện hoán đổi hai số mà người dùng vừa mới nhập vào.

#include using namespace std; void swap[int *x,int *y] { int t; t = *x; *x = *y; *y = t; } int main[] { int num1,num2; coutnum1; coutnum2; cout

Chủ Đề