Lưu ý: trong 3 cách duyệt set, map và vector, thì chỉ duyệt được bằng iterator với các phiên bản C++ thấp hơn C++11, vậy nên khi sử dụng để đi thi (cấp trường, cấp huyện với các bạn học sinh) thì nên dùng iterator cho an toàn (vì một số phần mềm chấm cũ chỉ chấm đươc C++ chứ C++11 trở lên thì không), hoặc sẽ bị compilation error và bài nộp sẽ không được chấm
@DaThuFlorida Жыл бұрын
Mình nghĩ đấy là lỗi do sở không chịu cập nhật trình chấm chứ code hợp lí thì phải chấp nhận chứ không thể giới hạn kiến thức được, nếu vậy thì sở phải quy định phiên bản ngôn ngữ lập trình tương ứng với trình chấm.
@invisibledude7783 Жыл бұрын
@@DaThuFlorida Tất nhiên, khi thi tỉnh hay quốc gia thì sở đều cho chấm bằng C++14 trở lên nên đó không là vấn đề. Mình chỉ nói về việc thi cấp huyện hay thi khảo sát của trường, nhiều thầy cô giáo vẫn sử dụng C++ thường, không nâng cấp dẫn đến một số lỗi chương trình và không chấm được.
@nguyennhuttruong8011 Жыл бұрын
cho e hỏi còn for each để duyệt thay vì iterator được khong ạ! ( em đã từng code auto themis chấm lỗi biên dịch )
@Nuc-ny4bz8 ай бұрын
Anh ơi nếu muốn in ra một phần tử bất kì trong set phải làm sao ạ
@nguyenhoa54093 жыл бұрын
nếu mà dùng for each để nhập các phần tử cho mảng thì phải thêm dấu & tham chiếu à anh
@28tech_3 жыл бұрын
uh đúng rồi.
@28tech_2 жыл бұрын
Thông tin các khóa học mình đang hướng dẫn : 28tech.com.vn/
@giapluu89412 жыл бұрын
anh ơi cho em hỏi là ở dòng lệnh 30(phút 27:23) tại sao i lại bắt đầu từ k được k ạ, em đang vướng ở đây cả tiếng:(((( mong anh rep ạ
@trantrung1612 жыл бұрын
Anh cho em hỏi từ phút 26:32 đến phút 28:24 vì sao vậy ạ, anh giải thích kĩ hơn chút được không ạ? Em cảm ơn.
@28tech_2 жыл бұрын
Phần này a giải thích rất kỹ rồi đó, có thể em hổng kiến thức về string ah
@trantrung1612 жыл бұрын
@@28tech_ Vâng em đang coi anh giải bài tập mảng mà lại thấy xuất hiện cách giải bằng set với map nên em xuống học set với map, nên em vẫn chưa coi được string ạ. Em coi theo thứ tự trong list ạ.
@danhaoxuan74225 ай бұрын
anh ra clip giải thích thêm về iterator được không ạ
@28tech_5 ай бұрын
Em xem ở video vector sẽ dễ hơn
@caohuy1922 Жыл бұрын
à thì có mấy bạn hỏi tại sao i = k ở đoạn sau phần sau của bài toán maximum sliding windown vòng for dòng 31 thì em xin giải thích như sau ạ ( tại em mới năm nhất):vòng for đầu tiên sẽ tạo khuôn cho cửa sổ có độ dài k cùng như tạo cửa sổ khuôn mẫu , dòng 32 thì mình sẽ in ra phần tử cuối cùng(lớn nhất) trong cửa sổ có độ dài k vì set đã sắp xếp tăng dần ví dụ 1 2 3 thì in ra số 3, ở dòng 33 thì mình sẽ xóa phần tử đầu tiên trong multiset ms đi dựa vào interator của hàm find và index k ví dụ k=3 thì sẽ xóa phần tử ms có giá trị a[k-i] là a[3-3] = a[0] = 1(ở đây giống như xóa 1 phần tử nhỏ nhất trong ms) sau đó chèn thêm thêm phần tử a[i] = 1 vào trong multiset ms thì ms hiện tại sẽ là 1 2 3 mục đích của 2 dòng 31,32,33(đoạn for thứ 2) sẽ là in ra số lớn nhất trong cửa sổ khi đã đủ bộ số,sau đó xóa đi phần tử nhỏ nhất và thêm phần tử mới tử mảng a dựa vào index vào cho cửa sổ có độ dài k cho vòng lặp tiếp theo để in ra số lớn nhất tiếp theo, cứ thế lặp đến hết. - một cái nhỏ nữa em viết không biết đúng không tại em có code ra giấy thì dòng 35 là để in số lớn nhất trong bộ số cuối cùng em sẽ nói ví dụ trong mảng của anh nhé , khi i = 9 thì sẽ cout
@Vu205-r3r Жыл бұрын
nhưng ô ơi, cái ms.insert(a[i]) sau đó thì chèn vào đâu vậy ô, ví dụ 1 2 3 , sau khi tìm đc 3 do set sắp xếp theo thứ tự lớn ở cuối thì sẽ xóa 1 đi ( erase), sau đó thêm 1 tại a[3] vào trước hay sau vậy ô
@KhaiChangretta Жыл бұрын
@@Vu205-r3r khi bạn lưu một phần tử mới vào set thì nó sẽ tự động sắp xếp rồi nhé
@Vu205-r3r Жыл бұрын
oke thanks bạn@@KhaiChangretta
@annguyenhuu9859 Жыл бұрын
@@KhaiChangretta a có thể cho e hỏi 1 chút tại sao lại viết ms.erase(ms.find(a[i-k]) mà k viết ms.erase(a[i-k]) vậy ạ
@KhaiChangretta Жыл бұрын
@annguyenhuu9859 bạn hỏi mình hả ? mình nghĩ là tại vì trong cái khung cửa sổ k phần tử ấy, bạn muốn xóa phần tử đầu tiên đúng không, thì bạn truyền vào cái phần tử đâu tiên là a[i - k], tuy nhiên vì đây là multiset, nên nó chấp nhận các phần tử bằng nhau, do đó nếu trong khung cửa số k đấy mà bạn truyền vào a[i - k] thì biết đâu có phần tử khác bằng a[i - k] nên nó xóa cả phần tử đó thì sao ? nên phải truyền hàm find vào (vì hàm find trả về iter trỏ tới địa chỉ của phần tử đầu tiên bằng với đối số truyền vào), từ đó sử dụng địa chỉ đó để xóa phần tử đầu tiên.
@quanohong73933 жыл бұрын
dùng set ko thể cout
@28tech_3 жыл бұрын
Ko nhé, vì set ko lưu các phần tử theo thứ tự kiểu đó.
@andanh-fs1fe6 ай бұрын
anh ơi tại sao đã gắn i vào set r mà tí xuất ra lại phải dùng hàm for nữa ạ
@nguyenhoa54093 жыл бұрын
cái chỗ 23:33 anh bảo nếu muốn xóa 1 phần tử trong multi set mà ko muốn nó xóa cả nhưng cái trùng nhau thì dùng interator nhưng mà cú pháp lệnh như thế nào anh ơi
@28tech_3 жыл бұрын
Ví dụ em muốn xóa 5, thì đầu tiên e phải tìm được iterator trỏ tới 5 trong multiset, auto it = ms.find(5); sau đó ms.erase(it);
@truyensieuhay18863 жыл бұрын
anh làm thêm 1 2 bài ví dụ để áp dụng đươqj không ạ
@28tech_3 жыл бұрын
Mình để phần bt ở dưới ý. b làm thử có vướng mắc thì hỏi nhé
@kinhkong69z622 жыл бұрын
a giải đề hsg quốc gia đi anh
@duonganhtuan36412 жыл бұрын
a làm về segment tree đi a
@28tech_2 жыл бұрын
Làm cái này vất vả mà ít người quan tâm lắm em. Mặc dù nó rất hay.
@trichau9569 Жыл бұрын
26:13 sao phải khai báo &x vậy ạ
@ms5musicsctv9782 жыл бұрын
in ra phần tử thứ k trong set thì làm kiểu gì ạ, em rất thắc mắc mong anh rep, cám ơn a nhiều.
@28tech_2 жыл бұрын
Gọi set là s. k là stt phần tử em muốn in ra. thì đây là cách in ra phần tử thứ k trong set. trong trường hợp này là phần tử nhỏ thứ k. cout
@levanphong42753 жыл бұрын
Cái đoạn cuối anh nói về thuật toán minimun kill gì vậy ạ,a có video về thuật đấy k ạ
@28tech_3 жыл бұрын
Nó gọi là minimum queue, dùng để truy vấn phần tử nhỏ nhất trên 1 đoạn của mảng, bạn tìm minimum queue cp algorithm là nó ra. Mấy nữa tới phần stack vs queue mình mới nói tới nó.
@levanphong42753 жыл бұрын
@@28tech_ anh cho e hỏi là video bên chuỗi string ý đoạn tách em viết while(getline(ss,tmp,"abcd")) sao k đc nhỉ a
@KhoiNguyen-h8p6 ай бұрын
anh ơi sao em chạy mấy cái for each hay ms.begin()hay end là nó báo lỗi mong anh rep
@mkietdz95512 жыл бұрын
anh cho em hỏi phút thứ 28:00 giả sử mảng là 1 4 4 3 xét 3 phần tử thì nếu dùng lệnh xóa đó em nghĩ lần 2 nó sẽ xuất ra 3 thay vì 4 hay sao anh
@Touhoubu Жыл бұрын
1 4 4 ra 4. 4 4 3 thi van ra 4 vi no la sap xep tang dan ma :)
@abcsde-vp7vg3 жыл бұрын
hay
@danhphanehe16552 жыл бұрын
16:46
@thangnguyen37862 жыл бұрын
Giúp mình giải thích đoạn khai bảo mảng động n phần tử (int a[n]) mà không cần cấp phát không ạ
@lenguyet50172 жыл бұрын
cho em hỏi ở phút 28:44 hàng 32 mình có thể bỏ ms.find chỉ còn ms.erase(a[ i - k ]); được không ạ ? em test thì thấy nó được. anh giải thích giúp em với ạ
@28tech_2 жыл бұрын
Không được, vì nó sẽ xoá theo giá trị hết những phần tử có cùng giá trị là a(i-k). Phải xoá thông qua iterator
@phantrungkien30493 жыл бұрын
hay quá a ơi
@28tech_3 жыл бұрын
Ok thank em đã ủng hộ nhá.
@danhyoyo9755 Жыл бұрын
mình có thể truy cập đến các phần tử trong set để tính toán hay so sánh ko anh. vd như dùng set để làm mảng cộng dồn chẳng hạn
@28tech_ Жыл бұрын
Ko em ơi. Vì set nó ko lưu theo chỉ số
@danhyoyo9755 Жыл бұрын
cảm ơn anh
@hobinh87442 жыл бұрын
a ơi cho em hỏi 25:57 anh nói cái gì tiếng anh ấy, em nghe không rõ, anh có thể nào ghi ra giúp em với được không
@28tech_2 жыл бұрын
minimum queue em nhé. cp-algorithms.com/data_structures/stack_queue_modification.html
@32.havanphuong922 жыл бұрын
a ơi a có khóa học giá bao nhiêu vậy ạ, có khóa học từ đầu không ạ
@28tech_2 жыл бұрын
Em tham khảo tất cả ở đây nha 28tech.com.vn/
@dianadev17022 жыл бұрын
Em có thể duyệt set như sau được không anh : set s ; for(int i =0 ;i
@28tech_2 жыл бұрын
Không được, set có lưu thông qua chỉ số đâu mà.
@KhanhNguyen-eg6vo2 жыл бұрын
anh ơi cho em hỏi, em có 1 struct trong đó có biến bool (bX), em muốn tìm phần tử mà biến bool đấy bằng true thì như thế nào ạ, bên c# có anonymus method không biết c++ có dùng đc không ạ
@28tech_2 жыл бұрын
Này thì e duyệt tuần tự và tìm kiếm thôi
@KhanhNguyen-eg6vo2 жыл бұрын
@@28tech_ em cảm ơn ạ
@haidangnguyenquy18482 жыл бұрын
Cho em hỏi sắp xếp mảng (các ptu ko trùng nhau) dùng Set có được ko, và nó có hiệu quả hơn các thuật toán sắp xếp ko ạ
@28tech_2 жыл бұрын
Thường thì a sẽ dùng mảng và thuật toán sort.
@tuquachduy7750 Жыл бұрын
anh ơi chỗ 28:45 tại sao cout
@28tech_ Жыл бұрын
Nó là iterator trỏ đến phần tử cuối trong set mà nên nó là số lớn nhất nhé
@bbnakroth3018 Жыл бұрын
a ơi đoạn 28:07 tại sao cout
@28tech_ Жыл бұрын
Vì rbegin là iterator trỏ đến phần tử cuối cùng trong set
@thuythai29985 ай бұрын
Ai chỉ giúp m file bài tập chỗ nào với? m tìm k thấy nhỉ, m cảm ơn ạ!
@Alahaha1893 жыл бұрын
thanks anh :v
@ThếNguyễn-r3l Жыл бұрын
anh ơi cho e hỏi nếu mình muốn in ra một mảng bắt đầu từ phần tử thứ l đến m thì làm như nào ạ
@loitaiemvn9738 Жыл бұрын
6:22
@thaison3684 Жыл бұрын
a ơi cho em hỏi cái set với cái map này hay dùng trong hashTable phải không ạ
@28tech_ Жыл бұрын
map là hash table, còn set nó là binary search tree em nhé.
@thaison3684 Жыл бұрын
@@28tech_em cảm ơn e học phần này ở java nó có hashmap với hashset nên e hơi lú
@nguyenphamhoangle44582 жыл бұрын
cho em hỏi tại 13:07 tại sao mk phải ghi là *s.begin() mà không phải là s.begin() ạ? Khi em ghi s.begin() thì bị báo lỗi.
@28tech_2 жыл бұрын
S.begin nó là iterator trỏ tới thằng đầu tiên, em muốn truy cập phải giải tham chiếu nó nhé
@phomhoang29483 жыл бұрын
có nên học hết c++ k a, em đang định chuyển sang java để lập trình mobile !!
@28tech_3 жыл бұрын
Nếu thấy mình lập trình ok rồi thì chuyển. Chứ đừng mỗi thứ biết 1 tí là được.
@huynguyenhoang34603 жыл бұрын
a ơi cho e hỏi phút 28:02 a[i-k] nghĩa là gì ạ
@28tech_3 жыл бұрын
Đấy là phần tử bị loại bỏ ra khỏi cửa sổ cỡ k e ạ
@hieuvu8544 Жыл бұрын
anh ơi phút thứ 26:20 sao lại dùng for(int &x : a) mà không phải là for(int x : a) vậy ạ
@chtholly1625 Жыл бұрын
for (int x:a) nó chỉ là giá trị ảo của x cho a (tham trị ) như truyền tham trị cho hàm "k tác động tới giá trị mãng " mà mục đích xài để nhập "thay đổi giá trị" k phải "duyệt" thì phải tham chiếu &x:a thì mọi can thiệp giá trị của x đều tác động giá trị a theo đúng for each
@28tech_ Жыл бұрын
range based for loop nếu em cần thay đổi giá trị của x trong for thì thêm &, ko cần thay đổi (ví dụ như duyệt) thì ko cần &
@nammai37832 жыл бұрын
cho em hỏi lập trình hướng đối tượng là phải sử dụng kiến thức c++ à anh, nó có giống như c++ ko ạ
@28tech_2 жыл бұрын
Hdt thì e dùng ngôn ngữ nào cũng được java học cũng được
@beatbacninh2 жыл бұрын
thường thì trong các trường đại học thì C++ là ngôn ngữ có hướng đối tượng đầu tiên mà chúng ta động đến. sau đó là java sẽ thuần đối tượng. C++ kết hợp cả lập trình hướng thủ tục lẫn lập trình hướng đối tượng. có đúng thế k nhỉ a Lộc
@SangNguyen-kr7qj3 жыл бұрын
anh ơi phần for(auto..) xem ở video nào vậy ạ
@28tech_3 жыл бұрын
Em có thể xem ở phần đầu tiên mà a hướng dẫn là mảng 1 chiều, nhưng mà lí thuyết nó cũng chỉ có thể thôi nên ko phải xem lại đâu.
@HieuNguyen-lj5ss2 жыл бұрын
dùng kiểu struct cho set được không anh
@28tech_2 жыл бұрын
em phải nạp chồng toán tử != để set nó còn biết cách phân biệt giữa 2 struct là ok.
@huyletan66262 жыл бұрын
muốn in ra các phần tử của set theo thứ tự ngược lại thì làm sao v anh
@28tech_2 жыл бұрын
Em duyệt bằng iterator rbegin, rend. for(auto it = se.rbegin(); it != se.rend(); ++it) cout
@huyletan66262 жыл бұрын
@@28tech_ em cảm ơn ạ
@luongtran4077 Жыл бұрын
@@28tech_ Dạ anh ơi em chưa hiểu lắm tại sao ++it mà ko phải là - - it ạ?
@luphiniii Жыл бұрын
@@luongtran4077 mình nói nôm na nên b đừng bắt lỗi nha:D vì nó sẽ duyệt các cái phần từ đối xứng kiểu ngược lại á bạn vd bạn có 1 cái set 0 1 2 3 4 5 6 7 8 9 thì khi nó duyệt qua số 0 thì nó sẽ in số 9 do 9 ngược với 0 trong cái set kia(do rbegin là ngược với begin á) xong nó duyệt lên số 1 thì nó in số 8 rồi 7 6 5 4 3 2 1 nên là it++
@dqhuy3862 Жыл бұрын
set có hiệu quả ntn trong lập trình v anh khi mà nó ko truy cập được vào từng phần tử v (em mới bắt đầu học)
@28tech_ Жыл бұрын
Tìm kiếm nhanh, loại bỏ trùng, thêm cũng nhanh nữa. Thế là hiệu quả rồi em, giờ em bắt nó truy cập được như mảng nữa thì nó bá đạo ah :D
@thuhuynh2968 Жыл бұрын
ngày xưa anh mất bao lâu để thành thạo C++ ạ
@28tech_ Жыл бұрын
Tầm 5 tháng em ạ
@nguyenhung9233 Жыл бұрын
for(int &x : a){ cin >>x; anh ơi cái &x là sao v anh mong a giải đáp giúp e với
@L1-42-ĐứcTrí Жыл бұрын
Tham chiếu & được sử dụng để truy cập và thay đổi trực tiếp giá trị của phần tử trong mảng . sau đó nhập x . mà x là tham chiếu nên bất kỳ thay đổi nào của x sẽ thay đổi phần tử ở vị trí tương ứng trong mảng a
@phuan4629 ай бұрын
s.begin() s.end() mk chỉ dùng được khi gọi mấy cái dữ liệu như vector, set, map hả anh?
@28tech_9 ай бұрын
Uh đúng rồi em nó dùng cho các container
@nhavan1432 Жыл бұрын
set này cx đc coi là mảng hả mn. Tại vì trong phần multiset có btap: Cho mảng có n phần tử.... ý ạh
@cambinh5090 Жыл бұрын
Khác mảng bạn nhé. Mặc dù trong ms có n phần tử nhưng cách truy vấn các phần tử trong ms khác hoàn toàn so vs dùng index như của mảng
@anhthe27393 жыл бұрын
Cho em hỏi là anh tập gõ 10 ngón lâu không ạ em tập mãi vẫn chưa quen
@28tech_3 жыл бұрын
Anh tập trong khoảng hơn 2 tháng 1 tý.
@anhthe27393 жыл бұрын
@@28tech_ Em không dùng được for(auto x:v) Chương trình báo [Error] range-based 'for' loops are not allowed in C++98 mode Thì em phải làm sao anh
@hungnguyenvan90763 жыл бұрын
Anh cho em hỏi thay trong muntiset thì làm ntn ạ hay vẫn qua iterator ạ
@28tech_3 жыл бұрын
Đúng rồi thông qua iterator nhé e.
@hungnguyenvan90763 жыл бұрын
@@28tech_ em cảm ơn anh nhớ
@vinhuc70572 жыл бұрын
anh ơi trg lúc xem em thấy anh bô đen dòng code nào đó xg anh bấm phím tắt nào mà biến cái dòng bôi đen thành dòng comment vậy anh
@28tech_2 жыл бұрын
ctrl + / em nhé
@luongtran40775 ай бұрын
Anh ơi làm sao khi gõ dấu chấm thì lại hiện lên code gợi ý vậy anh, cái DevC của em khi chấm nó không có hiện
@28tech_5 ай бұрын
Thường thì anh cũng ko bao h dùng gợi ya
@thienluong77868 ай бұрын
anh cho em hỏi phần for( int x : s ) em thử nhiều cách mà nó toàn báo lỗi gì mà trình biên dịch c++98
@nobiku9188 ай бұрын
nếu bạn dùng devC thì bạn vào tools -> compiler options -> nhập -std=c++11 vào ô trắng đầu tiên (Add the ... compiler) rồi bật nó lên xong OK là được
@NguyenTuan-pu7ye3 жыл бұрын
a ơi vì sao cout
@28tech_3 жыл бұрын
S.begin nó là iterator mà, còn phần tử thì là thêm toán tử giải tham chiếu
@nam93382 жыл бұрын
bài cuối nó hoạt động ntn ạ
@thanhucmai2282 жыл бұрын
ad ơi ad nói rõ hơn về cái erase con trỏ của multiset đi ạ , em dùng mà toàn bị lỗi. Thanks ad nhiều
@28tech_2 жыл бұрын
Video này là mình nói hết cỡ rồi đấy 😂😂😂
@sonohoang20592 жыл бұрын
anh ơi cho em hỏi là nếu trong 1 cửa số k nó có 2 phần tử giống nhau thì dùng erase trong multi set sẽ xóa cả 2 phần tử giống nhau thì sao ạ
@28tech_2 жыл бұрын
Em dùng itertor để xoá nó chỉ xoá 1 thàng
@sonohoang20592 жыл бұрын
@@28tech_ da vang anh em hieu r a
@hoavoanh2 жыл бұрын
có cách nào để đưa set hoặc multiset vào trong hàm mà k để ở hàm main không anh
@28tech_2 жыл бұрын
Thoải mái e truyền tham số như biến bt
@hoavoanh2 жыл бұрын
@@28tech_ dạ em làm được rồi. em cảm ơn anh
@35.leminhtien602 жыл бұрын
Cho em xin tài liệu lí thuyết trong video với ạ
@maintop2502 жыл бұрын
anh ơi cho em hỏi sao em làm thế này lại k ra ạ #include using namespace std; int main(){ int n,k; cin>>n>>k; int a[n]; for(int &x:a){ cin>>x; } multiset s; for(int i=0;i
@28tech_2 жыл бұрын
Hỏi khó quá :v
@maintop2502 жыл бұрын
@@28tech_ 😬😬 tại em không biết làm sao nó sai ấy
@tuannguyenhuu964 Жыл бұрын
@@maintop250 Thiếu dấu đóng ngoặc } ở cuối chương trình. Dòng cuối cùng cout
@VuVanPhuc722 жыл бұрын
e dùng thuật toán này để sắp xếp mảng các ptu khác nhau thì độ phức tạp O(n) hay O(n^2) vậy a int main(){ set s; for (int i = 0; i < 5; i++) { int x; cin >> x; s.insert(x); } for (int x : s) cout
@28tech_2 жыл бұрын
NlogN em nhé, nhưng mà làm ntn nó mất hết các số trùng nhau đấy em
@VuVanPhuc722 жыл бұрын
@@28tech_ ok a, a cho e hỏi thêm lộ trình học khoá học c++ cơ bản này cho người mới thì tầm trong bao lâu ạ
@28tech_2 жыл бұрын
@@VuVanPhuc72 còn tuỷ người, nhanh thì 3 tháng, chậm 5 tháng, người học ko cẩn thận thì vài năm cũng ko học hết nhé e
@VuVanPhuc722 жыл бұрын
@@28tech_ dạ e cám ơn a nhiều ạ
@leoan8781 Жыл бұрын
mình sử dụng codeblock để code nội dung giống hệt bạn. nhưng phần for (int x: s){ cout
@42.nguyenviettruong756 ай бұрын
bạn phải dùng c++ 11 trở lên thì mới duyệt kiểu đó được
@HoangTran-wr3bd2 жыл бұрын
a ơi làm thế nào để a zoom to được cái cửa sổ chạy code vậy ạ
@28tech_2 жыл бұрын
E ctrl xong cuộn chuột là nó to ta
@nguyenthanh05988 ай бұрын
anh ơi e duyệt set bằng for (int x : s) em code giống anh mà nó báo lỗi c++ 98 mode j ấy k chạy đc, chỉ có thể duyệt bằng iterator thôi, a chỉ cách để nó chạy giúp em dc k ạ
@28tech_8 ай бұрын
Em cần chạy chuẩn C++11 hoặc mới hơn mới có nhé em
@HaNguyen-bq5fp2 жыл бұрын
cái xoá là xoá phần tử theo giá trị chứ k phải theo chỉ số phải k a
@28tech_2 жыл бұрын
Uh em
@quananhnguyen135 Жыл бұрын
in ra các phần tử trong set , multi , unordered mà k dùng for each vs iterator kiểu j anh , c++ của em k dùng dc for each , vs unordered ạ
@28tech_ Жыл бұрын
Thì em dùng iterator, hoặc tìm cách chạy chuẩn C++ 17
@quananhnguyen135 Жыл бұрын
@@28tech_ anh cho em hỏi là tìm ở web nào ạ
@abcsde-vp7vg3 жыл бұрын
Set chỉ in được đầu cuối không in được phần tử thứ k hả mn?
@28tech_3 жыл бұрын
B tìm hiều hàm next trong multiset nhá.
@nguyenkien2532 жыл бұрын
6:12 sao lại s.count khác 0 lại found ạ??
@28tech_2 жыл бұрын
Là tìm thấy đó em
@nguyenkien2532 жыл бұрын
@@28tech_ nhưng sao s.count khác 0 lại tìm thấy ạ
@hoangvietnguyen57882 жыл бұрын
anh ơi tại sao khai bào unorderes_set rồi thì khi in số phần tử thì những số phần tử khác nhau ak
@28tech_2 жыл бұрын
uh, đúng thế em.
@khavovan82013 жыл бұрын
Độ phức tạp là O(logn) có ý nghĩa gì vậy anh ?
@28tech_3 жыл бұрын
Hơi khó khăn nhỉ, vì nếu bạn mới học lập trình chưa biết về độ phức tạp thì khó nói quá, có gì mai mình sẽ làm 1 video giới thiệu qua về độ phức tạp. Đơn giản thì độ phức tạp càng nhỏ thì code chạy càng nhanh O(1) < O(logn) < O(n) < O(n^2)... Em đọc thêm ở đây nhé, phần time complexity ấy usaco.guide/bronze/time-comp?lang=cpp
@jitan5429 Жыл бұрын
anh ơi khi mà em dùng for each trong codeblocks á a là nó bị vào vòng lặp vô tận luôn , anh có biết cách nào để khắc phục cái đó và tại sao nó bị thế không vậy anh ? dạ em cám ơn anh nhiều chúc anh một ngày vui vẻ
@28tech_ Жыл бұрын
Ko phải lặp vô tận, chắc e khai báo mảng quá to chăng, range base for loop nó sẽ duyệt hết mọi phần tử trong mảng
@jitan5429 Жыл бұрын
@@28tech_ dạ rồi em cám ơn anh nhiều ạ
@tranquangtruong92943 жыл бұрын
Mình có 5 Từ "java" ,"python","python","java","PHP" thì dùng hàm gì hợp lý để nó ra là lượt là 2 2 1 vậy ạ.
@28tech_3 жыл бұрын
tức là không phân biệt hoa thường ah, thế thì e chuyển xâu về in thường hết hoặc hoa hết rồi làm chứ ko có hàm nào cả.
@Vu205-r3r Жыл бұрын
set này so với vector thì cái nào nó nhanh hơn ạ a
@28tech_ Жыл бұрын
Về tìm kiếm và thêm, xoá thì set nhanh hơn. Truy cập phần tử và thêm vào cuối thì vector nhanh hơn e
@Vu205-r3r Жыл бұрын
daj vaang anh@@28tech_
@tracnang663 жыл бұрын
and có video giải bài tập ở phần mô tả không anh
@28tech_3 жыл бұрын
Mình ko giải, bạn cứ code đi nó không khó, nếu có khó khăn gì thì mình sẽ giải cho. Có thể tí nữa mình code cho rồi cập nhật ở mô tả luôn. Phần này cũng nhiều người hỏi phần giải.
@tracnang663 жыл бұрын
@@28tech_andrew2804 anh cho em hỏi nhập xâu thì ta nhập thế nào ạ,anh cho em 1 vd được k
@tracnang663 жыл бұрын
set s1; xong nhập thế nào ạ
@28tech_3 жыл бұрын
@@tracnang66 Nhập xâu xong bạn còn phải tách nó ra xong insert vào set cơ.
@IUH_H32_PL3 жыл бұрын
a ơi làm sao để mik vô đc nhóm trên face ạ em thấy để"Bạn hiện không xem được nội dung này".. em cảm ơn a
@28tech_3 жыл бұрын
Uh hiện tại nhóm a chưa có thời gian quản lý nên tạm dừng nhé em.
@giahienphanba9442 жыл бұрын
có cách nào truy cập set mà không dùng for(auto hay cái int ấy) không anh
@28tech_2 жыл бұрын
Có hàm next em ạ, nhưng nó ko truy cập đc như kiểu mảng đâu e
@chilinhtinh11902 жыл бұрын
sao phải lấy *s.begin anh s là con trỏ hay sao ạ?
@28tech_2 жыл бұрын
Iterator, nó tương tự con trỏ nhé b
@nguyenhouc82593 жыл бұрын
Em vẫn thấy Unordered_set tuy không sắp xếp nhưng khi xuất ra cũng hông theo thứ tự mình nhập. Không biết tại sao anh nhỉ
@28tech_3 жыл бұрын
Uh nó cũng ko theo thứ tự mình nhập đâu nhé, cái này trong java thì có còn unodered set thì ko duy trì các phần tử theo thứ tự nhập.
@fuocng2 жыл бұрын
Anh biết cách chuyển sang c++11 trong VS Code ko ạ
@28tech_2 жыл бұрын
Cái này a ko rõ vì a dùng sublime, e search stackoverflow là có thôi.
@lewlew2122 жыл бұрын
b chuyển sang c++11 chưa vậy?
@buituanhiep15-39 Жыл бұрын
anh ơi cái multiset mình không xài được kiểu iterator như này à anh cout
@28tech_ Жыл бұрын
Ko em ạ, này chỉ áp dụng cho vector thôi.
@Itn.20042 жыл бұрын
Nếu đề kêu tìm max min hay sắp xếp mảng mà mình dùng set thì có sai đề k a...:))
@28tech_2 жыл бұрын
Sắp xếp thì sai, còn tìm max min ko sai nhưng thuật toán như vậy là ko tốt
@muoipogbagaming53163 жыл бұрын
Anh trùm c++ à
@28tech_3 жыл бұрын
C++ bọn học cùng mình thằng nào cũng chùm cả, môn cơ bản mà. :v
@M10Leo-u1p4 ай бұрын
bài cuối phải ngồi hơn 40p và phải đi tìm hiểu cửa sổ trượt mới hiểu nổi. Khoai ác =((
@28tech_4 ай бұрын
Giờ anh cũng chả nhớ bài đấy là bài nào nữa :v
@M10Leo-u1p4 ай бұрын
@@28tech_ bài tìm ra phần tử lớn nhất mà xét lần lượt 3 phần tử á anh mà em chưa học cửa sổ trượt nên k hiểu gì :((
@BDCCN-TranHuyBachai-ol9rd3 жыл бұрын
lm sao để dùng erase để xóa 1 đoạn trong set vậy ạ
@28tech_3 жыл бұрын
Khó nhỉ. Set xoá từng phần tử 1 thôi e.
@BDCCN-TranHuyBachai-ol9rd3 жыл бұрын
@@28tech_ e cảm ơn ạ
@20.tranangbaophuc93 Жыл бұрын
cho em hỏi là em khai báo mảng có giới hạn là biến thì nó bị lỗi là do sao ạ vd: int a[n];
@28tech_ Жыл бұрын
Có 1 vài trình biên dịch nó ko chấp nhận cái này, em khai báo a[100000] hoặc bao nhiêu đó là hằng số nhé.
@taiuc29233 жыл бұрын
cho em hỏi là sao lại là ms.find của a[i - k ] v anh
@28tech_3 жыл бұрын
Em hỏi rõ hơn phút thứ bn được ko nhỉ.
@huynhtuanat739 Жыл бұрын
Set có phụ thuộc vào phiên bản hg a. E sử dụng codeblock 16.01 nó báo lỗi cho phần duyệt để in set #include #include using namespace std; int n,x,i; int main() { set s; ifstream fi; fi.open("SET.INP"); fi>>n; for (int i=1;i>x; s.insert(x); } cout
@28tech_ Жыл бұрын
Bản C++ của em chưa có range base for loop, em cần chạy vs chuẩn C++ cao hơn chút, ko thì phải thay dòng đó bằng cách duyệt bằng iterator.
@huynhtuanat739 Жыл бұрын
@@28tech_ Cám ơn a. Nếu chạy bằng iterator thì thực hiện sao a
@28tech_ Жыл бұрын
@@huynhtuanat739 for(set::iterator it = se.begin(); it != se.end(); ++it) cout
@huynhtuanat739 Жыл бұрын
@@28tech_ cám ơn a nhiều
@huynhtuanat739 Жыл бұрын
@@28tech_ Mình có thể dùng while hoặc for để xoá lần lượt từng phần tử trong set hg a.
@phantrungkien30492 жыл бұрын
sao cái devc++ của e nó ko hỗ trợ unordered_set thế a
@28tech_2 жыл бұрын
E cài chuẩn c++11 đi đã
@trictc Жыл бұрын
Anh cho em xin file bài tập set map với ạ.
@taiphanvan24033 жыл бұрын
em chưa thấy tác dụng nổi bật j của unordered_set.Em thấy set nó hữu dụng hơn
@28tech_3 жыл бұрын
Độ phức tạp của nó có thể là O(1), cũng có thể là O(n). Nói chung dùng cũng được mà mình thì ít dùng.
@puckkluvperfumee2 жыл бұрын
Anh ơi cho e xin file bt Set, map được không ạ?
@HaNguyen-bq5fp2 жыл бұрын
sao cái em cout
@28tech_2 жыл бұрын
Lấy đâu ra em 😁😁😁
@justmEdu Жыл бұрын
anh ơi em cũng cài dev C++ 5.11 như anh nhưng em làm theo cách duyệt sử dụng "for each" lại không được anh ạ for(auto x : s){ -> tại dòng này nó báo lỗi là 'x' does not name a type
@minh6672 Жыл бұрын
Như anh ấy nói là phiên bản của ngôn ngữ C++ bạn à, vô cài đặt chỉnh ấy. Không phải phiên bản của phần mềm
@andanh-fs1fe6 ай бұрын
1 anh ơi hàm for(int x: s) là sao vậy ạ,? 2 tại sao phải có hàm for(int x:s) thì mới xuất được các giá trị của set ạ 3 hàm for(int x:s) khác j với hàm for thông thường ạ
@thuynguyen-vi6vw4 ай бұрын
k xem video trc thì đừng hỏi nhiều nhé bn🤫🤫🤫
@hieuinhtrung94172 жыл бұрын
Sao Dev c++ của em ko dùng đc for each ạ
@28tech_2 жыл бұрын
Em chạy vs chuẩn C++11 trở lên nhá. Vào tool->compiler option->setting->code generation->language standard->gnuc++11
@hieuinhtrung94172 жыл бұрын
@@28tech_ Được rồi ạ, cảm ơn ad
@hatuanphan222 Жыл бұрын
auto ko dùng đc là tại sao vậy ạ
@28tech_ Жыл бұрын
Em cần chạy vs chuẩn C++ 11 trở lên nhed
@baole47422 жыл бұрын
của em dùng for x nó báo lỗi a ơi
@28tech_2 жыл бұрын
E dùng chuẩn C++ 11 nhé. Trong dev c e vào tool->compiler option->setting-language standar->code generation->GNU C++11 là được.