Code mẫu update cho ngôn ngữ C: github.com/thantrieu/LearnC/blob/master/selectionSort.c
@800m14 жыл бұрын
tại sao lại phải i
@letrunghien49713 жыл бұрын
j < n là sao vậy anh, em tưởng nó là j < n - 1 ạ ?
@thanhtam3205 жыл бұрын
cái ký tự & có tác dụng gì ngoài lệnh scàn ạ ?
@25_phamthithuhuong404 жыл бұрын
a ơi cho e hỏi vs ah nếu phải viết các bước lựa chọn ra giấy mk có phải viết từng bc giải thích không ah hay mk chỉ thay nó vào vị trí mới thôi ah e cảm ơn
@tienatongvu12035 жыл бұрын
E thấy kiểu này hơi giống interchange sort nhỉ
@dieudoanvan7 жыл бұрын
Bạn trình bày thuật toán thì đúng tư tưởng, nhưng ví dụ minh họa sai rồi, bạn tìm min, tìm xong mới swap(tức j=N-1), còn ở đây mỗi lần bạn tìm thấy là swap
@thanhduong2347 жыл бұрын
Code đúng rồi mà, chắc bạn nhìn nhầm :))
@thanhtam3205 жыл бұрын
Ổng lấy định dạng C++ để làm bài hèn gì đi theo hoài chả tới được đích ... Fix bài dùm đi Triệu ơi !!!
@truongduhi4736 жыл бұрын
A triệu cho e hỏi tại sao i chạy từ 0 ->n-2 và j chạy từ i+1 -> n-1 mà ko phải số khác. và biến n ở đây là gì vậy a??
@trinhle72275 жыл бұрын
anh ơi hình như ví dụ thì lại sai swap phải đặt ở vòng lặp của i chứ sao lại vòng lặp của j như vậy thì mỗi lần tìm thấy j nhỏ hơn thì nó đã swap rồi ạ
5 жыл бұрын
E debug để xem kết quả chính xác nhất
@vumilano47254 жыл бұрын
đúng rồi bạn theo thuật toán trong slide là vậy
@minhhieple64837 жыл бұрын
Em không hiểu lắm ở lần lặp đầu tiên anh cho min = i tức là min = 0 sao min lại chạy để tìm số nhỏ nhất được ạ ???? mỗi lần tăng i thì min mới tăng theo...
@ducanhho64137 жыл бұрын
anh ơi cái hàm select sao khong phải j
@thiledinh14687 жыл бұрын
void swap(int &x,int &y) { int tg =x; x = y; y = tg; } cho minh hoi tai sao lai truyen diaj chi x va y nhir
@thiledinh14687 жыл бұрын
minh dudng int x, int y dc k b
@hieunguyenduy1787 жыл бұрын
xem lại bài truyền tham số và tham trị
@nguyenthinh37894 жыл бұрын
swap (&x, &y) có nghĩa hàm này cần truyền vào địa chỉ. Sao a[i], a[min] là giá trị swap(a[i], a[min]) vẫn thỏa mãn vậy ạ?
4 жыл бұрын
cái này là tham chiếu trong c++ nhé
@nguyenthinh37894 жыл бұрын
Vâng.
@nguyenthinh37894 жыл бұрын
@ em thử trong C nhưng không được ạ? hay phải dùng file đuôi .cpp ạ?
@nguyenthinh37894 жыл бұрын
video này là theo C++ rồi anh, chắc nên thay đổi nội dung bài này để tránh hiểu nhầm
4 жыл бұрын
@@nguyenthinh3789 đây là viết bằng c++. Để tí a gửi link
@an9536 жыл бұрын
mấy bài sắp xếp đổi chỗ của a e biên dịch bằng code blocks đều bị lỗi ở đoạn này void nhap(int a[], int &n )
6 жыл бұрын
e đổi thành truyền tham chiếu trong C là đc nhé
@an9536 жыл бұрын
thân triệu ok . Ổn r ạ. Thanks bro =)
@caitauhattvhhtc88157 жыл бұрын
Bạn có thể giúp mình cái thuật toán Bin sort được không! mình đang làm bài tập về nó mà tìm trên mạng hoài không thấy!
7 жыл бұрын
b google bằng english sẽ ra thôi, hiện mình ko có thời gian nên ko giúp b đc
@thanhtam3205 жыл бұрын
lý do gì mà hàm xuat không xuất được vậy ? thay cho các ký tự & trong bài của bạn thì làm thế nào để giải quyết ạ ?
@NguyenNhan-jy2xo5 жыл бұрын
anh ơi. Đề yêu cầu dùng selectionSort . INPUT 5 64 25 12 22 11 OUTPUT 11 25 12 22 64 11 12 25 22 64 11 12 22 25 64 11 12 22 25 64 để đc cái output thì ntn ạ ????? :((
5 жыл бұрын
In ra ở trong vòng lặp ngoài e nha
@NguyenNhan-jy2xo5 жыл бұрын
@ à anh ơi. cái này chắc là cơ bản nhưng e vẫn ko biết đó là phần INPUT như đoạn code của anh thì nhập xong 1 số thì nó lại xuống dòng . Vậy em muốn ở chung 1 hàng thi như nào ạ?
5 жыл бұрын
@@NguyenNhan-jy2xo nhập các phần tử cách nhau một vài dấu cách, khi thấy đủ thì enter
@NguyenNhan-jy2xo5 жыл бұрын
@ void selectionSort(int a[], int n){ int h=1; while(h
@nhohocong77836 жыл бұрын
Vì sao code của em không chạy được hả a? #include void nhap( int arr[],int n){ int i; scanf("%d", &n); for ( i=0; i
@huuphunguyen91366 жыл бұрын
Anh ơi, tại sao em nhập void enter(int a[], int &n); nó báo lỗi là sao ạ ?
6 жыл бұрын
ngôn ngữ c thì e dùng ..(int a[], int *n) nhé. xem lại phần truyền con trỏ vào hàm
@tuetran92127 жыл бұрын
Tại sao ở hàm swap thì anh phải viết là swap (int &x, int &y) mà không phải là swap (int x, int y)
7 жыл бұрын
thực ra nếu e học c thì phải viết là (int *a, int* b){... sau đó gán giá trị. lý do thì e bỏ dấu & đi sẽ rõ.
@tuetran92127 жыл бұрын
Em hiểu thế này không biết có đúng không: Có & thì nếu biến thay đổi bên trong hàm, ra ngoài biến mang giá trị mới. Không có & thì biến có thay đổi hay không thay đổi, ra ngoài biến vẫn mang giá trị cũ.
7 жыл бұрын
đúng vậy đó
@dieudoanvan7 жыл бұрын
tại vì ông này viết sai, dạng học vẹt
@tienduattran53207 жыл бұрын
a ơi e dùng netbeans, cái đoạn void nhap(int a[], int &n ) void swap(int &x, int &y ) e bị lỗi ạ, a giúp e với
7 жыл бұрын
nếu là code theo java thì bỏ & trước tên tham số đi nhé
@tienduattran53207 жыл бұрын
E code C ạ. E dán đoạn source code vào nó báo lỗi
@geniusstar92837 жыл бұрын
sao ham nhap không có tác dụng vậy anh?cho chạy nó ra cái gì ý #include #include void nhap (int, int); void xuat (int, int); void sort (int, int); void nhap (int a[], int b) { int *p = a; for(int i = 0; i < b; i ++) { int temp; printf("nhap vao array[%d]", i); scanf("%d", temp); *p = temp; p++; } } void xuat (int a[], int b) { int *p = a; for(int i = 0; i < b; i ++) { printf("%d", *p); p++; } } void sort (int a[], int b) { int *p = a; for(int i = 0; i < b - 1 ; i ++) { for(int j = i + 1; j < b; j++) { int temp; if( (p[i]) > (p[j])) { temp = p[i]; p[i] = ( p[j]); ( p[j]) =temp; } } } } int main() { int n; int array[100] printf("nhap vao so phan tu mang n ="); scanf("%d", &n); nhap (array, n); printf("nhap vao so phan tu mang n ="); scanf("%d", &n); nhap (array, n); printf(" mang vua nhap la: "); xuat (array, n); sort (array, n); printf(" mang sau khi sap xep la :"); xuat (array, n); getch(); }
7 жыл бұрын
e thiếu & trong scanf("%d", temp); nhé, sửa thành scanf("%d", &temp);
@geniusstar92837 жыл бұрын
bài tập về xâu a chưa up video chữa...a cho e xin link đáp án với.