Một chương trình hoán vị 2 biến không sử dụng tới hàm mà sẽ hoán đổi 2 biến trực tiếp trong main. Tất nhiên khi làm thực tế thì sẽ không ai viết thế này cả, nhược điểm là không viết hàm con thì cứ mỗi lần hoán đổi 2 phần tử ta sẽ viết lai lệnh hoán đổi nên kinh tế - xã hội, Chương trình mục tiêu quốc gia nơng thơn mới và chương trình mục tiêu giai đoạn 2016-2020. - Hồn thiện cơ chế xã hội hóa các nguồn vốn huy động để triển khai thực hiện Chương trình, bảo đảm huy động đầy đủ, kịp thời theo đúng cơ cấu đã được CE Bootcamp 2022 nhằm trang bị kiến thức và công cụ về kinh tế tuần hoàn, kết nối nguồn lực, hỗ trợ toàn diện giúp doanh nghiệp chuyển đổi, tạo ra các mô hình tiên phong thúc đẩy phát triển kinh tế Mình có tạo một Command Button, bây giờ sẽ viết chương trình khi click vào command button đó thì sẽ hoán đổi giá trị giữa hai ô A1 va B1. 1: Bật chế độ Design Mode, sau đó click double chuột 2 lần vào button để nhảy đến trang nhập code cho sự kiện click. 2: Khai báo một biến tạm 加入收藏. 預告片. Tòa nhà Duy Lợi bất ngờ đổ sập khiến nhiều người thiệt mạng, Kỹ sư Thời Quang (Đàm Tuấn Ngạn thủ vai) đã từng đánh giá chất lượng tòa nhà, và cho rằng vụ sập có gì đó bất ổn, bèn âm thầm tiến hành điều tra. Bất thình lình, khi đang làm NPJI. 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 = viết này được đăng tại không được copy dưới mọi hình thức. 1. Hoán đổi hai số sử dụng biến thứ ba trong 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à viết này được đăng tại [free tuts .net] using System; namespace ConsoleApp5 { class Program { static void Mainstring[] 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 khi hoan doi number1= {number1}, number2 = {number2}"; temp = number1; //temp = 10 number1 = number2; //number1 = 20 number2 = temp; //number2 = 10 khi hoan doi number1= {number1}, number2 = {number2}"; } } } 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 number1 = number1 + number2 khi đó number1 sẽ là 10 + 20 = 30. number2 = number1 - number2 khi đó number2 sẽ là 30 - 20 = 10. 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 Mainstring[] args { 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 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 khi hoan doi number1= {number1}, number2 = {number2}"; } } } 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 Mainstring[] args { 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 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 khi hoan doi number1= {number1}, number2 = {number2}"; } } } 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 Mainstring[] args { string name1 = " name2 = "Tutorials"; 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 = - //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 = khi hoan doi name1 = {name1}, name2 = {name2}"; } } } 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!!! Hàm swap hoán đổi giá trị của 2 biến cho nhau là hàm mà trong các bài toán thực tế ta sẽ cần áp dụng khá nhiều, ví dụ như trong bài toán sắp xếp. Vậy trong bài viết này chúng ta sẽ cùng tìm hiểu tư tưởng bài toán hoán vị, cũng như cùng nhau đi viết hàm hoán vị với lập trình C/C++ nhé. Tư tưởng bài toán hoán vị Giả sử bạn đang có 2 cốc nước, ta gọi là cốc A đang đựng nước lọc và cốc B đang đựng nước cam. Vậy làm sao để có thể hoán đổi cốc A đựng nước cam và ngược lại. Để làm được việc đó chắc chắn ta sẽ cần tới một cốc phụ gọi là cốc C nữa. Bước 1 Ta đổ cốc nước lọc A vào 2 Đổ cốc nước cam B vào 1 Đổ cốc nước lọc trong C vào cốc B. Như vậy có phải lúc này cốc A sẽ đựng cốc nước cam, và cốc B sẽ đựng cốc nước lọc. Và trong lập trình ta cũng làm tương tự như vậy, ta khai báo 1 biến gọi là biến temptạm, sau đó gán temp = A, A = B, B = temp, như vậy là đã hoán đổi được giá trị của 2 biến A, B. Hàm swap xây dựng sẵn trong thư viện C++ Trong thư viện iostream của C++, hàm swap đã được xây dựng sẵn với cấu trúc void swapobject A, object B Với A, B là bất kì một kiểu dữ liệu nào từ int, float…tới một struct hay thậm chí là một đối tượng class. Mình sẽ có đoạn code minh họa hoán đổi 2 biến kiểu dữ liệu int như bên dưới. include using namespace std; int main { int a, b; cout>a>>b; cout int main { int a, b; printf"Nhap 2 so a, b\n"; scanf"%d%d", &a, &b; printf"Ban da nhap\na = %d \nb = %d\n", a, b; int temp = a; a = b; b = temp; printf"Sau khi swap\na = %d\nb = %d \n", a, b; return 0; } Kết quả khi chạy chương trình thì cũng sẽ như ví dụ trên. Viết hàm hoán vị với C Mình có 1 đoạn chương trình con như sau, bạn hãy thử dự đoán trước kết quả xem kết quả có giống khi chạy chương trình không nhé!. include void Swapint a, int b{ int temp = a; a = b; b = temp; } int main { int a, b; printf"Nhap 2 so a, b\n"; scanf"%d%d", &a, &b; printf"Ban da nhap\na = %d \nb = %d\n", a, b; Swapa, b; printf"Sau khi swap\na = %d\nb = %d \n", a, b; return 0; } Và đây chính là kết quả khi chạy chương trình. Ủa ủa ủa…là sao ta?? tại sao chương trình lại không thể hoán đổi được giá trị của 2 biến. Bởi vì khi ta viết hàm Swap như vậy tức là ta chỉ đang truyền tham trị tức là chỉ truyền vào 2 giá trị của a, b vào hàm swap chứ không phải truyền vào vị trí ô nhớ của 2 biến a, b. Vì vậy lúc này hàm swap sẽ tạo ra 2 bản sao tại vị trí ô nhớ khác và thao tác trên 2 ô nhớ mới đó, 2 biến a, b sau khi thoát khỏi hàm vẫn sẽ giữ nguyên giá trị ban đầu của nó. Để khác phục tình trạng đó trong C ta sẽ sử dụng tham trỏ, ta sẽ truyền 2 đối số là int *a, int *b trong hàm swap. Vì là 2 tham trỏ nên khi gọi hàm ta cũng sẽ phải truyền vào đó là địa chỉ biến, tức là truyền vào &a, &bDấu & để lấy địa chỉ biến. Khóa học lập trình C/C++ từ A-Z cho người mới – Giảm giá 40% hôm nayKhóa học Java cơ bản dành cho người mới bắt đầu- Giảm 40% hôm nayKhóa học lập trình Android từ cơ bản đến thành thạo – Giảm ngay 40% Ta viết lại chương trình chạy đúng như sau include void Swapint *a, int *b{ int temp = *a; *a = *b; *b = temp; } int main { int a, b; printf"Nhap 2 so a, b\n"; scanf"%d%d", &a, &b; printf"Ban da nhap\na = %d \nb = %d\n", a, b; Swap&a, &b; printf"Sau khi swap\na = %d\nb = %d \n", a, b; return 0; } Và đây là kết quả khi chạy chương trình. Như vậy là chương trình của chúng ta đã chạy đúng với mong muốn ban đầu. Viết hàm hoán vị với C++ >>XEM THÊM Khóa học lập trình C/C++ từ A-Z cho người mới – Giảm giá 40% hôm nay Đối với C++ ta cũng sẽ viết hàm Swap tương tự, tuy nhiên trong C++ có tham chiếuhoặc gọi tham biến nên code sẽ nhìn đơn giản và dễ hiểu hơn một chút so với tham trỏ trong C. CODE MẪU include using namespace std; void Swapint &a, int &b{ int temp = a; a = b; b = temp; } int main { int a, b; cout>a>>b; cout<<"\nBan da nhap\n a = "<num1; cout>num2; cout<<"Trước khi đổi \n"<<"Số thứ nhất = " <