30/09/2018, 19:59
Liệt kê các tập hoán vị của một tạp cho trước bằng C++
Với a[4]={1,2,3,4} cho trước
for (i = 0; i < 23; i++) {
for (j = 2; j >= 0; j++) {
if (a[j] < a[j + 1]) {
temp = a[3];
for (k = 3; k > j; k--) {
a[k] = a[k - 1];
}
a[j] = temp;
break;
}
}
Em làm vậy đã đúng chưa
Đề là liệt kê các tập hoán vị của a[4]
Bài liên quan
Bạn ơi, Bạn nên cho code vào Markdown khi up code thế này nhé
nhưng lúc chạy chương trình nó chỉ đổi có 1 lần hoán vị còn các lần tiếp theo nó lặp lại tập 2 ko đổi tiếp liệu chương trình có sai ko anh
Bạn ơi, bạn sửa lại code cho dễ nhìn đã nhé ![quote=“Spectre, post:1, topic:22378”]
for(i=0;i<23;i++)
[/quote]
mình thấy bạn khai báo a[4] sao vòng for lại lặp nhiều thế
Biến temp bạn chưa khai báo cho nó này !
mình viết mỗi phần xử lí chính thôi còn chương trình chạy rồi nhưng chỉ đổi được có 1 lần sau đó viết lại tập đó lại 2 mấy lần ko đổi tiếp