Fed đã thực sự thành công với chương trình hoán đổi tiền tệ của mình. Hữu Thăng. FX Strategist. 23:28 25/06/2020. Chương trình giải trí trực tuyến để trao đổi những phần thưởng: gieo trồng môi trường kinh doanh chất lượng cao "đất", để cầu thủ thị trường chiến đấu với ánh sáng! Tố Tuệ Dung. 1. Tư tưởng hoán vị Trong thực tế, chúng ta phải xây dựng các chương trình, các hàm hoán vị để hoán đổi giá trị của các phần tử, ví dụ chương trình sắp xếp dãy là một điển hình. Để hoán vị 2 số, ta có thể hình dung giống như chúng ta có 2 cốc. Cốc A đựng nước chanh, cốc B đựng thuốc trừ sâu. Làm Task. Enter 2 integers a and b from the keyboard, write a program to swap 2 variables then print the following line on the screen: after swap a = {P1}, b = {P2} Where {P1} and {P2} are corresponding values of a and b after swapping. For example, if a = 3, b = 4, enter the following values: 3 4. When the code is compiled and executed, it Hoán đổi hai chuỗi trong 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 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 T1zv. Trong ví dụ này, bạn sẽ học cách viết một chương trình để hoán đổi hai biến trong JavaScript bằng các phương pháp khác nhau. Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình JavaScript sau Các biến và hằng số JavaScript Toán tử JavaScript Ví dụ 1 Sử dụng một biến tạm thời //JavaScript program to swap two variables //take input from the users let a = prompt'Enter the first variable '; let b = prompt'Enter the second variable '; //create a temporary variable let temp; //swap variables temp = a; a = b; b = temp; value of a after swapping $a`; value of b after swapping $b`; Đầu ra Nhập biến đầu tiên 4 Nhập biến thứ hai 2 Giá trị của a sau khi hoán đổi 2 Giá trị của b sau khi hoán đổi 4 Đây, Chúng tôi đã tạo một biến tạm thời để lưu trữ giá trị của một biến tạm thời. Chúng tôi đã gán giá trị của b cho a. Giá trị của nhiệt độ được gán cho b Kết quả là, giá trị của các biến được hoán đổi. Lưu ý Bạn cũng có thể hoán đổi chuỗi hoặc các kiểu dữ liệu khác bằng phương pháp này. Ví dụ 2 Sử dụng es6 ES2015 Chuyển nhượng cơ cấu //JavaScript program to swap two variables //take input from the users let a = prompt'Enter the first variable '; let b = prompt'Enter the second variable '; //using destructuring assignment a, b = b, a; value of a after swapping $a`; value of b after swapping $b`; Đầu ra Nhập biến đầu tiên 4 Nhập biến thứ hai 2 Giá trị của a sau khi hoán đổi 2 Giá trị của b sau khi hoán đổi 4 Ở đây, một tính năng mới của es6, được gọi là gán hàm hủy a, b = b, a, được sử dụng để hoán đổi giá trị của hai biến. Nếu a, b = 1, 2, 3, giá trị của a sẽ là 1 và giá trị của b sẽ là 2 . Đầu tiên một mảng tạm thời b, a được tạo. Ở đây giá trị của b, a sẽ là 2, 4. Việc cấu trúc mảng được thực hiện, tức là a, b = 2, 4. Kết quả là, giá trị của các biến được hoán đổi. Bạn có thể tìm hiểu thêm về cấu trúc hủy trong Gán hủy JavaScript. Lưu ý Bạn cũng có thể hoán đổi chuỗi hoặc các kiểu dữ liệu khác bằng phương pháp này. Bạn cũng có thể hoán đổi các giá trị của biến bằng cách sử dụng các toán tử số học . Ví dụ 3 Sử dụng các toán tử số học //JavaScript program to swap two variables //take input from the users let a = parseIntprompt'Enter the first variable '; let b = parseIntprompt'Enter the second variable '; // addition and subtraction operator a = a + b; b = a - b; a = a - b; value of a after swapping $a`; value of b after swapping $b`; Đầu ra Nhập biến đầu tiên 4 Nhập biến thứ hai 2 Giá trị của a sau khi hoán đổi 2 Giá trị của b sau khi hoán đổi 4 Phương pháp này chỉ sử dụng hai biến và hoán đổi giá trị của các biến bằng cách sử dụng toán tử số học +và -. Ở đây, parseIntđược sử dụng vì promptnhận đầu vào từ người dùng dưới dạng chuỗi. Và khi các chuỗi số được thêm vào, nó sẽ hoạt động như một chuỗi. Ví dụ '2' + '3' = '23',. Vì vậy, parseIntchuyển đổi một chuỗi số thành số. Để tìm hiểu thêm về chuyển đổi loại, hãy chuyển đến Chuyển đổi loại JavaScript. Hãy xem chương trình trên hoán đổi các giá trị như thế nào. Ban đầu, a là 4 và b là 2 . a = a + bgán giá trị 4 + 2cho a bây giờ là 6 . b = a - bgán giá trị 6 - 2cho b bây giờ là 4 . a = a - bgán giá trị 6 - 4cho a bây giờ là 2. Cuối cùng, a là 2 và b là 4 . Lưu ý Bạn có thể sử dụng toán tử số học +, - nếu cả hai biến đều thuộc kiểu số. Ví dụ 4 Sử dụng toán tử Bitwise XOR //JavaScript program to swap two variables //take input from the users let a = prompt'Enter the first variable '; let b = prompt'Enter the second variable '; // XOR operator a = a b b = a b a = a b value of a after swapping $a`; value of b after swapping $b`; Đầu ra Nhập biến đầu tiên 4 Nhập biến thứ hai 2 Giá trị của a sau khi hoán đổi 2 Giá trị của b sau khi hoán đổi 4 Toán tử Bitwise XOR đánh giá truexem cả hai toán hạng có khác nhau không. Để tìm hiểu thêm về toán tử bitwise, hãy truy cập Toán tử bitwise trong JavaScript. Hãy xem chương trình trên hoán đổi các giá trị như thế nào. Ban đầu, a là 4 và b là 2 . a = a bgán giá trị 4 2cho a bây giờ là 6 . b = a bgán giá trị 6 2cho b bây giờ là 4 . a = a bgán giá trị 6 4cho a bây giờ là 2. Cuối cùng, a là 2 và b là 4 . Lưu ý Bạn chỉ có thể sử dụng phương pháp này cho các giá trị nguyên số nguyên. Bạn dùng ngôn ngữ gì thì mình không biết nhưng mình sẽ cho bạn ý tưởng1. Biến trung giantg=a;a=b;b=tg;2. Không dùng biến trung giana=a+b; VD a=10, b=5 => a+b=15; => a=15; => b=15-5=10 => a=15-10=5;b=a-b;a=a-b; 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 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 swapint *x,int *y { int t; t = *x; *x = *y; *y = t; } int main { int num1,num2; cout>num1; cout>num2; cout A rỗng, C chứa chanh B2 Đổ cốc thuốc trừ sâu B sang cốc A => B rỗng, A chứa thuốc trừ sâu B3 Đổ cốc chanh C sang cốc B => B chứa chanh. Ok. Giờ A chứa thuốc trừ sâu, B chứa nước chanh. Cách đổi chỗ 2 cốc nước 2. Code hoán vị Làm tương tự trong lập trình ta sẽ hoán đổi được giá trị của 2 biến. // about swap in C - code by nguyenvanquan7826 include 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 hoan vi\na = %d\nb = %d\n", a, b; return 0; } Kết quả Nhap 2 so a, b 3 6 Ban da nhap a = 3 b = 6 Sau khi hoan vi a = 6 b = 3 Ok. Bây giờ thử tách ra thành hàm hoán vị xem sao 3. Hàm hoán vị trong C // about swap in C - code by nguyenvanquan7826 include void hoanviint 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; hoanvia, b; printf"Sau khi goi ham hoanvi\na = %d\nb = %d \n", a, b; return 0; } Kết quả Nhap 2 so a, b 3 6 Ban da nhap a = 3 b = 6 Sau khi goi ham hoanvi a = 3 b = 6 Oh, Sao kết quả chúng ta không có sự hoán vị? Với chương trình này chúng ta xây dựng 1 hàm hoán vị để đổi vị trí giữa 2 bến a và b, tuy nhiên chúng ta đã sử dụng tham trị nên các giá trị của a và b không thay đổi hay nói cách khác là chúng không được hoán vị cho nhau. Các bạn hiểu truyền tham trị tức là khi gọi hàm hoanvia, b thì ngay lập tức giá trị của a và b 3 và 6 được đưa vào hàm chứ không phải là các biến a, b nên biến a, b của chúng ta không hề thay đổi khi hàm kết thúc. Code đúng như sau // about swap in C - code by nguyenvanquan7826 include void hoanviint *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; hoanvi&a, &b; printf"Sau khi goi ham hoanvi\na = %d\nb = %d \n", a, b; return 0; } Kết quả Nhap 2 so a, b 3 6 Ban da nhap a = 3 b = 6 Sau khi hoan vi a = 6 b = 3 Ở trên chúng ta xây dựng hàm hoanvi với 2 đối số là *a và *b kiểu int. *a và *b nghĩa là con trỏ a và con trỏ b. Trong thân hàm chúng ta có viết *a, *b VD int temp = *a thì dấu * thể hiện là giá trị của con trỏ a. Do hàm dùng con trỏ nên khi gọi hàm chúng ta phải truyền vào địa chỉ của các biến tức là hoanvi&a, &b , ở đây dấu & để lấy địa chỉ của biến a và biến b. 4. Hàm hoán vị trong C++ Nếu các bạn viết trong C++ file có đuôi là .cpp thì có thể viết hàm hoán vị dễ hơn một chút như sau. // about swap in C - code by nguyenvanquan7826 include void hoanviint &a, int &b // only in C++, file .cpp { 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; hoanvia, b; printf"Sau khi goi ham hoanvi\na = %d\nb = %d \n", a, b; return 0; } Hoặc có thể dùng hàm swap có sẵn trong thư viện algorithm include include // swap 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; stdswapa, b; printf"Sau khi goi ham hoanvi\na = %d\nb = %d \n", a, b; return 0; } Trong bài viết này chúng ta sẽ tìm hiểu về cách hoán đổi hai số trong Java. Mình sẽ giới thiệu hai cách hoán đổi khác nhau để các bạn có thể so sánh và hiểu rõ hơn về cách thức viết này được đăng tại không được copy dưới mọi hình thức. Cách thứ nhất mình sẽ sử dụng một biến tạm thời temp để hoán đổi, cách thứ hai mình sẽ sử dụng toán học đơn giản để hoán đổi chúng. Hoán đổi hai số bằng biến tạm thời temp Trong phần này mình sẽ sử dụng một biến tạm temp làm biến trung gian để hoán đổi hai biến a và b được nhập từ bàn phím. Đầu tiên ta sẽ sử dụng class để lấy dữ liệu từ bàn phím, sau đó thực hiện viết thuật toán để hoán đổi viết này được đăng tại [free tuts .net] Thuật toán temp = a; a = b; b = temp; Giả sử ta có a = 3 và b = 4, thuật toán sẽ hoạt động như sau Gán giá trị của a cho temp, khi đó temp = 3. Gán giá trị của b cho a, khi đó a = 4. Gán giá trị của temp cho b, khi đó b = 3. Như vậy sau khi kết thúc thuật toán thì a = 4 và b = 3, hai số a và b đã hoán đổi cho nhau thông qua biến trung gian là temp. Ví dụ Mình sẽ áp dụng thuật toán trên để viết một chương trình hoán đổi hai số trong Java. Dữ liệu sẽ được nhập bởi người dùng. *Lưu ý các bạn nhớ phải import thư viện đã nhé import import class Main { public static void mainString[] args { //sử dụng class Scanner để lấy dữ liệu từ bàn phím Scanner sc = new Scanner //khai báo ba biến float a, b và temp float a, b, temp; // yêu cầu người dùng nhập vào hai số a và b vào số a "; a = vào số b "; b = //sử dụng thuật toán hoán đổi với biến trung gian temp temp = a; a = b; b = temp; //sau khi hoán đổi thì hiển thị kết quả ra màn hình khi hoán đổi\na = " + a + "\nb = " + b; trình này được đăng tại } } Kết quả Hoán đổi hai số bằng các phép toán học đơn giản Trong phần này mình sẽ sử dụng các phép tính toán học cộng, trừ để hoán đổi hai số a và b, thay vì phải sử dụng một biến temp. Tương tự như ở phần trên, chúng ta cũng sẽ sử dụng class để lấy dữ liệu từ bàn phím. Sau đó mới viết thuật toán để hoán đổi chúng. Thuật toán a = a - b; b = a + b; a = b - a; Giả sử chúng ta có a = 4 và b = 6, thuật toán sẽ hoạt động như sau Gán kết quả của a - b cho a, khi đó a = 4 - 6 = -2. Gán kết quả của a + b cho b, khi đó b = -2 + 6 = 4. Gán kết quả của b - a cho a, khi đó a = 4 - -2 = 6. Như vậy sau khi kết thúc thuật toán thì a = 6 và b = 4, hai số a và b đã được hoán đổi thông qua phép tính cộng và trừ đơn giản. Ví dụ Mình sẽ áp dụng thuật toán trên để hoán đổi hai số a và b trong Java, dữ liệu sẽ được nhập từ người dùng. import class Main { public static void mainString[] args { //sử dụng class Scanner để lấy dữ liệu từ bàn phím Scanner sc = new Scanner //khai báo hai biến float a, b float a, b; // yêu cầu người dùng nhập vào hai số a và b vào số a "; a = vào số b "; b = //sử dụng thuật toán hoán đổi với phép tính cộng trừ a = a - b; b = a + b; a = b - a; //sau khi hoán đổi thì hiển thị kết quả ra màn hình khi hoán đổi\na = " + a + "\nb = " + b; trình này được đăng tại } } Kết quả Như vậy là chúng ta đã tìm hiểu xong cách hoán đổi hai số trong Java, cũng như các ví dụ thực tế trong Java. Các bạn có thể tìm hiểu thêm các bài tập khác tại Bài tập Java, chúc các bạn thực hiệ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 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 swapint *x,int *y { int t; t = *x; *x = *y; *y = t; } int main { int num1,num2; cout>num1; cout>num2; cout<<"Trước khi đổi \n"<<"Số thứ nhất = " <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 = "<