Viết chương trình nhập 2 số nguyên vào 2 biến a và b. hoán đổi giá trị của 2 biến a và b trong c

Top 1 ✅ Viết chương trình hoán đổi giá trị 2 số a,b mà không sử dụng biến tạm,có giải thích chi tiết đikèm,ko có =bc nam 2022 được cập nhật mới nhất lúc 2022-03-05 07:00:49 cùng với các chủ đề liên quan khác

viết chương trình hoán đổi giá trị 2 số a,b mà không sử dụng biến tạm,có giải thích chi tiết đikèm,ko có =bc

Hỏi:

viết chương trình hoán đổi giá trị 2 số a,b mà không sử dụng biến tạm,có giải thích chi tiết đikèm,ko có =bc

viết chương trình hoán đổi giá trị 2 số a,b mà không sử dụng biến tạm,có giải thích chi tiết đikèm,ko có =bc

Đáp:

cobexinhdep:

uses crt;
var a,b: real;[a,b thộc tập hợp số thực]
begin
clrscr;
write [‘nhap a: ‘];  [hiển thì ra màn hình ‘nhap a:]

readln [a];[ nhập giá trị a ѵào máy]
write [‘nhap b: ‘];[hiển thì ra màn hình ‘nhap b:]

 readln [b];[nhập giá trị b ѵào máy]
a:=a+b;[giá trị a mới = a cũ +b cũ]

b:=a-b;[ giá trị b mới = a mới -b cũ = a cũ + b cũ – b cũ= a cũ]

a:=a-b; [ giá trị a mới  lần hai= a mới lần 1 – b mới = a cũ + b cũ -a cũ=b cũ]
writeln [‘gia tri cua a la: ‘,a];[ hiển thị ra màn hình gia tri cua a la : [b cũ]]
writeln [‘gia tri cua b la: ‘,b];[hiển thị ra màn hình gia tri cua b la : [a cũ]]
readln;
end.

cobexinhdep:

uses crt;
var a,b: real;[a,b thộc tập hợp số thực]
begin
clrscr;
write [‘nhap a: ‘];  [hiển thì ra màn hình ‘nhap a:]

readln [a];[ nhập giá trị a ѵào máy]
write [‘nhap b: ‘];[hiển thì ra màn hình ‘nhap b:]

 readln [b];[nhập giá trị b ѵào máy]
a:=a+b;[giá trị a mới = a cũ +b cũ]

b:=a-b;[ giá trị b mới = a mới -b cũ = a cũ + b cũ – b cũ= a cũ]

a:=a-b; [ giá trị a mới  lần hai= a mới lần 1 – b mới = a cũ + b cũ -a cũ=b cũ]
writeln [‘gia tri cua a la: ‘,a];[ hiển thị ra màn hình gia tri cua a la : [b cũ]]
writeln [‘gia tri cua b la: ‘,b];[hiển thị ra màn hình gia tri cua b la : [a cũ]]
readln;
end.

viết chương trình hoán đổi giá trị 2 số a,b mà không sử dụng biến tạm,có giải thích chi tiết đikèm,ko có =bc

Xem thêm : ...

Vừa rồi, baohongkong.com đã gửi tới các bạn chi tiết về chủ đề Viết chương trình hoán đổi giá trị 2 số a,b mà không sử dụng biến tạm,có giải thích chi tiết đikèm,ko có =bc nam 2022 ❤️️, hi vọng với thông tin hữu ích mà bài viết "Viết chương trình hoán đổi giá trị 2 số a,b mà không sử dụng biến tạm,có giải thích chi tiết đikèm,ko có =bc nam 2022" mang lại sẽ giúp các bạn trẻ quan tâm hơn về Viết chương trình hoán đổi giá trị 2 số a,b mà không sử dụng biến tạm,có giải thích chi tiết đikèm,ko có =bc nam 2022 [ ❤️️❤️️ ] hiện nay. Hãy cùng baohongkong.com phát triển thêm nhiều bài viết hay về Viết chương trình hoán đổi giá trị 2 số a,b mà không sử dụng biến tạm,có giải thích chi tiết đikèm,ko có =bc nam 2022 bạn nhé.

Cho 2 biến lưu trữ các số nguyên a và b được nhập từ bàn phím, bạn hãy viết chương trình hoán đổi giá trị của biến a và biến b. Sau đó hiển thị ra màn hình:

after swap a = {P1}, b = {P2}

Với {P1} và {P2} lần lượt là giá trị của a và b sau khi đã hoán đổi.

Ví dụ nếu bạn nhập a = 3, b = 4 như bên dưới:

Thì chương trình sẽ hiển thị ra:

Nếu bạn chưa giải được bài này thì có thể xem hướng dẫn ở bên dưới.

Hướng dẫn

Bạn có thể hoán đổi giá trị của 2 biến a, b bằng cách tạo ra biến trung gian c giống như sau:

Code mẫu:

a = int[input[]] b = int[input[]] c = a a = b b = c print["After swap a = " + str[a] + ", b = " + str[b]]

Hãy cho biết kết quả [Tin học - Lớp 8]

1 trả lời

Chọn phương án đúng [Tin học - Lớp 8]

1 trả lời

Chọn phương án đúng [Tin học - Lớp 6]

3 trả lời

Chọn phương án đúng [Tin học - Lớp 6]

3 trả lời

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 sao để chúng ta chuyển nước chanh sang cốc B và chuyển thuốc trừ sâu sang cốc a? Đơn giản là dùng thêm 1 cốc phụ là cốc c và bắt đầu chuyển:

  • B1: Đổ cốc chanh A sang cốc C. => 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.

// e.g 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

// e.g about swap in C - code by nguyenvanquan7826 #include void hoanvi[int 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 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 hoanvi[a, 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:

// e.g about swap in C - code by nguyenvanquan7826 #include void hoanvi[int *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.

// e.g about swap in C - code by nguyenvanquan7826 #include void hoanvi[int &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]; hoanvi[a, 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]; std::swap[a, b]; printf["Sau khi goi ham hoanvi:\na = %d\nb = %d \n", a, b]; return 0; }

Video liên quan

Bài Viết Liên Quan

Chủ Đề