#13 [C++]. Hướng Dẫn Sử Dụng Vector Trong C++ | Vector và Iterator C++

Поділитися
Вставка
  • Опубліковано 7 лис 2024

КОМЕНТАРІ • 151

  • @28tech_
    @28tech_  2 роки тому +2

    Thông tin các khóa học mình đang hướng dẫn : 28tech.com.vn/

  • @swm-phoenguyen4448
    @swm-phoenguyen4448 Рік тому +16

    0:45 khai báo vecto
    2:35 kích thước vecto (size)
    4:20 truy cập phần tử
    6:13 duyệt vecto (giống mảng)
    *iterator (giống con trỏ) : 7:10
    13:50 vecto có sẵn n phần tử
    16:00 vecto có sẵn n phần tử có giá trị

  • @HaiDang_23
    @HaiDang_23 3 роки тому +15

    Dân IT cần những người như này

    • @28tech_
      @28tech_  3 роки тому

      Thank bạn :D.

  • @kinhkong69z62
    @kinhkong69z62 2 роки тому +6

    các video của anh vừa chất lượng, logic và dễ hiểu

    • @28tech_
      @28tech_  2 роки тому +1

      Cảm ơn em :D

  • @Duongnthv
    @Duongnthv 3 роки тому +12

    Andrew dạy nhiều thuật toán hay quá. Cảm ơn bạn

    • @quythayhat
      @quythayhat 2 роки тому +1

      đây là kênh của andrew hả, kênh này đổi tên hèn j mình tìm ko ra :)

    • @Binh_Quan_8_9_gio
      @Binh_Quan_8_9_gio Рік тому

      @@quythayhat ai shi ba

  • @taitai8591
    @taitai8591 Рік тому +1

    Anh ơi cho em hỏi, với n số cho trước mà em tạo vector muốn đánh số từ 1 tới n thì em khai báo vector a(n + 1)
    Vậy khi em muốn giải quyết 1 bài toán, mà em chọn cách đánh số i =3; i

    • @28tech_
      @28tech_  Рік тому

      rác nhé em. Câu hỏi của em a cũng ko thấy nó rõ ràng và mạch lạc nữa.

    • @taitai8591
      @taitai8591 Рік тому

      Dạ đề bài của em là số đẹp được định nghĩa là số chia hết cho 3 hoặc 5. Vd: 3,5,6,9,10...Hãy in ra số đẹp thứ k. Output nếu k = 2 thì in ra 5. Em tạo 1 vector để lưu các số có thể chia hết cho 3 hoặc 5 sau đó em lưu vào vector đã tạo kia, em tạo vector có n phần tử là vector a(n + 1). Thay vì em duyệt vòng lặp chạy từ 1 thì em duyệt từ 3 để xét các số chia hết cho 3 hoặc 5 luôn. Vậy khi em tạo mảng có n + 1 phần tử và phần tử đầu tiên của em đánh số là 3 thì a[0] của em = 3 hay vẫn = 1 ạ ?

    • @taitai8591
      @taitai8591 Рік тому +1

      #include
      #define int long long
      using namespace std;
      const int maxn = 1e7;
      vector < int > c;
      void solution (int maxn)
      {
      for (long long i = 3; i > k;
      cout

  • @MapPeo
    @MapPeo Рік тому

    bài này nên trước bài #9 ạ tại #9 a có đề cập đến mảng vector mà e chưa học j về vector, xem bài này xong mới hiểu đc phần mảng vector bài #9

    • @tamminh6371
      @tamminh6371 7 місяців тому

      May quá tưởng mk học bỏ sót chỗ nào 😂

  • @ucle2014
    @ucle2014 2 роки тому

    cho em hỏi lúc 10p20 đó, khi cout

    • @28tech_
      @28tech_  2 роки тому +1

      Này là toán tử giải tham chiếu, em hiểu đơn giản it là cái trỏ tới giá trị của 1 phần tử trong vector, muốn truy cập giá trị đó phải giải tham chiếu, nên dùng *

  • @BDCCN-BuiHuuQuyet-ux4pg
    @BDCCN-BuiHuuQuyet-ux4pg 2 роки тому

    cảm ơn anh rất nhiều. Anh rất dễ hiểu

  • @thanhnguyenphamphu9668
    @thanhnguyenphamphu9668 4 місяці тому

    anh ơi trong clion e không dùng được thư viện bits/stdc++ thì vecto dùng thư viện nào v ạ

  • @anoriu2396
    @anoriu2396 2 роки тому

    anh xem hộ em hàm main xem em sai ở đâu với ạ : đề bài : viết hàm tìm những xâu có độ dài lớn nhất, em ngồi tìm mãi k ra
    vector checkDoDai(vector v){
    int max = 0;
    vector ketqua;
    for (int i = 0 ; i < v.size() ; i++){
    if (max < v[i].size()){
    max = v[i].size();
    }
    }
    for (int i=0 ; i < v.size();i++){
    if (max == v[i].size()){
    ketqua.push_back(v[i]);
    }
    }
    return ketqua;
    }
    int main(){
    int n; cin >> n;
    vector b;
    for (int i =0 ; i < b.size() ;i++){
    string x; cin >> x;
    b.push_back(x);
    }
    checkDoDai(b);
    }

    • @28tech_
      @28tech_  2 роки тому

      A thấy ok r đấy, in ra cái vector trả về trong hàm checkdodai là đc. E chưa in ra

    • @anoriu2396
      @anoriu2396 2 роки тому

      @@28tech_ : em in nhu the nay dung k a
      for (int i =0 ; i < checkDoDai(b).size() ; i++){
      cout

    • @28tech_
      @28tech_  2 роки тому

      @@anoriu2396 ko được, e phải dùng 1 cái vector mà lưu cái checkDoDai nó trả về em ạ. vector res = checkDoDai(b); xong duyệt res mà in ra.

  • @tankblizaisa
    @tankblizaisa 2 місяці тому

    Nâng cấp Mic Đi ad

  • @minhan4444
    @minhan4444 3 роки тому +4

    hay quá anh ra thêm nhiều clip giải bài tập bằng vector hoặc trong container đi anh.

    • @28tech_
      @28tech_  3 роки тому +2

      các bài tập sau này có lúc mình giải bằng vector hoặc mảng, nói chung giải bằng thằng nào cũng được. Còn set, map có hết rồi nhé.

    • @minhan4444
      @minhan4444 3 роки тому +2

      @@28tech_ ok a kênh chất lượng để học thuật toán ^^

  • @TuanKhoiHoPhi
    @TuanKhoiHoPhi 5 місяців тому

    Làm sao để xoá 1 phần tử trong vector vậy a?

  • @monboy4903
    @monboy4903 Рік тому

    Tuyệt quá

  • @NguyễnLong-o1t
    @NguyễnLong-o1t 10 місяців тому

    em cảm ơn anh

  • @HaNguyen-bq5fp
    @HaNguyen-bq5fp 2 роки тому

    cái này hay ghê luôn

  • @tonny2024
    @tonny2024 9 місяців тому

    Bạn có dạy làm game bằng C++ không hả bạn

  • @HieuVo-qt1xx
    @HieuVo-qt1xx 3 роки тому

    quá hay luôn a ạ

  • @thunk3785
    @thunk3785 3 місяці тому

    a ơi đoạn 15:00 tại sao bắt buộc phải khai báo 1 biến tạm v ạ?

  • @SonNguyen-jm5we
    @SonNguyen-jm5we Рік тому +1

    an ơi cho em hỏi là nếu chúng ta biết giá trị trong vector thì giờ muốn biết vị trí của nó nằm ở đâu thì làm sao ạ

    • @28tech_
      @28tech_  Рік тому

      Duyệt rồi so sánh thôi em, như tìm kiếm tuyến tính ấy

  • @minhdungnguyen7115
    @minhdungnguyen7115 3 роки тому

    hay quá ạ

    • @28tech_
      @28tech_  3 роки тому

      Thank you e :D

  • @leson2006-h6g
    @leson2006-h6g 3 місяці тому

    Thay thế cho linked list dc k ạ

    • @28tech_
      @28tech_  3 місяці тому

      Được nhé em

  • @ytnt6829
    @ytnt6829 Рік тому +3

    25 25 C:\Users\Administrator\Desktop\Trau.cpp [Error] invalid use of member (did you forget the '&' ?)
    Anh ơi cho em hỏi là lỗi này sửa như nào với ạ

    • @__mt1234__
      @__mt1234__ Рік тому +3

      Lỗi này là thiếu dấu &
      :))

  • @hoanle2320
    @hoanle2320 2 роки тому

    thay vì vector thì có vector đc kh ạ

    • @28tech_
      @28tech_  2 роки тому

      Được thoải mái em ạ

  • @loltv6448
    @loltv6448 2 роки тому +2

    có thể tạo mảng 2 chieu bằng vector ko anh

  • @nightcoretado3877
    @nightcoretado3877 2 роки тому

    hôm nay lại tiếp tục

  • @quangphuc1879
    @quangphuc1879 2 роки тому +1

    Cho em hỏi em đang học thương mại điện tử nhưng h em muốn theo mảng mobile bên lập trình h em nên tự học những j để có thể đi làm v anh❤❤

    • @28tech_
      @28tech_  2 роки тому

      em tìm video những môn học quan trọng của ngành IT a làm ấy.

  • @vule8222
    @vule8222 Рік тому

    cho mình hỏi là ">>" ở đoạn 19:32 có nghĩa là gì ạ

  • @quythayhat
    @quythayhat 2 роки тому +1

    anh ơi cho em hỏi với, thay vì "for (int i=1; i

    • @28tech_
      @28tech_  2 роки тому +1

      Không nhanh hơn đây em. Nó như nhau thoii

  • @ytnt6829
    @ytnt6829 Рік тому

    làm sao để sort trong vector vậy anh
    vẫn dùng sort thường ạ

  • @minhien17tb
    @minhien17tb 2 роки тому

    cho e hỏi lấy các hàm có sẵn thì ấn nút tắt gì nhỉ
    ví dụ gọi nhanh hàm push_back() ấy

    • @28tech_
      @28tech_  2 роки тому +1

      Tự viết ra thôi em.

    • @minhien17tb
      @minhien17tb 2 роки тому

      @@28tech_ à vâng
      Chắc anh gõ nhah quá e tưởng a gọi hàm bằng phím tắt

  • @nguyenhung9233
    @nguyenhung9233 Рік тому

    a ơi tại sao ko dùng it < v.end() mà phải dùng it != v.end() v anh trong vòng for ấy ah

    • @MinhVu-ne7rn
      @MinhVu-ne7rn 7 місяців тому +1

      tại vì v.end() không phải phần tử cuối :P

    • @htuanqn
      @htuanqn 10 днів тому

      vì it và v.end() không phải là giá trị, mà là iterator (là con trỏ đại diện cho 1 phần tử). Vì thế nên không thể dùng kiểu so sánh như này được bạn nhé.

  • @hplam114p
    @hplam114p 2 роки тому

    Càng học càng cuốn 😋

  • @linhchuymto
    @linhchuymto 3 роки тому

    Anh có thể gỉai thích chỗ này một chút được không ạ: while (ss>>tmp). ss>>tmp là làm gì anh nhỉ

    • @28tech_
      @28tech_  3 роки тому +1

      Bạn xem phần này nhé, mình có nói phần tách từ chỗ đó, như bạn nhập từ bàn phím thôi. Có điều luồng vào cho từ nó ko phải từ bàn phím nữa mà từ luồng stringstream thôi.
      ua-cam.com/video/AwBY3AkQO3M/v-deo.html&ab_channel=andrew2804

  • @huyquang7943
    @huyquang7943 Рік тому +1

    13:16 sao em không giải được tham chiếu kiểu này với set ạ

    • @28tech_
      @28tech_  Рік тому +1

      set em dùng iterator vẫn giải tham chiếu bt mà.

  • @ngocphuongnguyen9973
    @ngocphuongnguyen9973 2 роки тому +1

    anh ơi vector thì khác gì so với con trỏ quản lý 1 mạng động ạ

    • @28tech_
      @28tech_  2 роки тому +3

      Vector thực chất nó được cấp một bộ nhớ lớn hơn số lượng phần tử nó lưu hiện tại, có thể mở rộng hoặc thu hẹp còn mảng động thì e vẫn phải chỉ định trước số lượng phần tử cần xin cấp phát động mà

    • @ngocphuongnguyen9973
      @ngocphuongnguyen9973 2 роки тому

      @@28tech_ vâng ạ, cảm ơn anh nha

  • @QuangTran-rl5xt
    @QuangTran-rl5xt 2 роки тому +2

    set,map,vector không thể truyền vào hàm được phải không anh? em có thử và thấy không được, nếu mà không được thật thì mình muốn thao tác với các kiểu dữ liệu như set, map ,vector qua hàm cho tiện thì phải làm sao ạ?

    • @28tech_
      @28tech_  2 роки тому

      Truyền thoải mái mà e. Return về cũng được nữa

  • @Daniel-ed1gc
    @Daniel-ed1gc Рік тому +1

    Interator nó có giống while ko a

    • @28tech_
      @28tech_  Рік тому

      Ko liên quan em ạ

  • @Duongnthv
    @Duongnthv 3 роки тому

    chưa có video về sắp xếp và tìm kiếm trong vector à bạn?

    • @28tech_
      @28tech_  3 роки тому +1

      Mình hướng dẫn trong phần thuật toán sắp xếp rồi.

  • @baohuynhquoc2536
    @baohuynhquoc2536 Рік тому

    anh ơi học gì để làm web được vậy ạ

    • @28tech_
      @28tech_  Рік тому +1

      Cần học nhiều thứ lắm em, em xem video các môn học nền tảng của a ấy

  • @Duongnthv
    @Duongnthv 3 роки тому

    bạn có video nào về QHĐ không?

    • @28tech_
      @28tech_  3 роки тому +1

      Làm thì làm hết luôn phần thuật toán b ạ nhưng mà chưa có thời gian làm ấy.

  • @letractien
    @letractien 3 роки тому

    anh có bài nào nói về cái stringstream không ạ, em chưa thấy nó bao giờ.

    • @28tech_
      @28tech_  3 роки тому

      Có trong phần xâu kí tự, string trong C++ ấy e.

  • @studywiththuan4404
    @studywiththuan4404 2 роки тому

    anh ơi cho em hỏi cái Vector lưu được số lớn nhất là bao nhiêu chữ số và vector lưu được khoảng 10^15 phần tử không ạ

    • @28tech_
      @28tech_  2 роки тому

      Nó có cái max_size đó em nhưng thường thì vector lưu cũng như mảng 1 chiều thôi e nhé

  • @vinhtrinhtrong1066
    @vinhtrinhtrong1066 Рік тому

    a cho e hỏi treeb devc++ thiết lập thế nào để sử dụng đc dấu : trong duyệt bằng for each, e gõ giống hệt a, mà nó báo lỗi đoạn : đó a

  • @huyquang7943
    @huyquang7943 Рік тому

    9:37 sao em thay đổi điều kiện lặp thành rbegin lại không chạy được ạ

  • @phongphamtien1881
    @phongphamtien1881 Рік тому

    làm sao để chú thích nhiều dòng 1 lúc vậy thầy ( là cái này á // )

    • @28tech_
      @28tech_  Рік тому +1

      em bôi đen hết nội dung rồi ctrl + /

  • @Toanphan1999
    @Toanphan1999 2 роки тому

    Anh cho em hỏi vì sao em chạy 3 cái lệnh sau không được anh . Dạ em cảm ơn

    • @28tech_
      @28tech_  2 роки тому

      Em chạy vs chuẩn C++ 11 nhé

  • @ducnguyenminh8831
    @ducnguyenminh8831 Рік тому

    a ơi e ko biết gì về C nhưng học lý thuyết đồ thị trên kênh a đc k ạ

    • @28tech_
      @28tech_  Рік тому +1

      Học được nhưng lúc cài đặt thuật toán thì ko cài đặt đc em ạ

  • @thanhnamle5737
    @thanhnamle5737 2 роки тому

    Anh ơi, em cũng dùng dev c++ 5.11 mà sao k dùng dc từ khóa auto và vòng lập for each vậy. Mong anh trả lời.

    • @28tech_
      @28tech_  2 роки тому

      Em phải cài C++ 11 trở lên. E vào tool -compiler option-setting-code gênration-language standard-gnuc++11

    • @thanhnamle5737
      @thanhnamle5737 2 роки тому

      @@28tech_ Em cảm ơn, em dùng dc for each rồi. Mà cộng nhận cách giải thích của anh dễ hiệu thật, anh cố gắng ra nhiều video nhé.

  • @jeren4175
    @jeren4175 2 роки тому +1

    sao dev c của e không chạy đc mấy lệch như vậy nhỉ. mặc dù em nhập giống hệt mà

    • @28tech_
      @28tech_  2 роки тому +1

      em phải chạy với chuẩn C++ 11. Vào tool=>compiler option=>setting=>code generation=>language standard=>gnuC++11

    • @jeren4175
      @jeren4175 2 роки тому

      @@28tech_ dạ đc rồi ạ. Em cảm ơn ạ

  • @phanngocngantu
    @phanngocngantu Рік тому

    Cs mấy hàm e dùng nó bảo k chạy ở phiên bản đó nma e cx dùng 5.11 mag

  • @vothanhha6745
    @vothanhha6745 Рік тому

    khúc 16:55 ảnh nói nới rộng ra là sao vậy mọi người mình thấy ảnh chạy xong vẫn bình thường mà

  • @namnguyentrung8656
    @namnguyentrung8656 3 роки тому +2

    anh có tài liệu không ạ

    • @28tech_
      @28tech_  3 роки тому

      B có thể xem ở đây. drive.google.com/drive/folders/1RGX-OVgMFLYwqIPe0lyMzcH2mNmD0upu?usp=sharing

  • @prori5297
    @prori5297 2 роки тому

    19:30 dấu >> nghĩa là gì ạ

  • @manhtran2780
    @manhtran2780 2 роки тому

    khóa C++ ở đây full lý thuyết chưa anh !

    • @28tech_
      @28tech_  2 роки тому

      Thiếu file em.

  • @duynguyenvan7876
    @duynguyenvan7876 3 роки тому

    a có video nào nói rõ về cái for (int x:v) k a =v để e xem lại chứ e k hiểu cái này lắm

    • @28tech_
      @28tech_  3 роки тому

      em xem phần mảng 1 chiều, a có hướng dẫn duyệt mảng bằng for each.

    • @28tech_
      @28tech_  3 роки тому

      ua-cam.com/video/M3v7Ie9hu0s/v-deo.html&ab_channel=andrew2804

  • @MemoryQuaver
    @MemoryQuaver Рік тому +1

    17:11 sao mình truyền 20 mà giá trị cuối lại ra = 0 vậy anh

    • @elian135
      @elian135 4 місяці тому

      Da cout dau

  • @nguyenangkhanh4971
    @nguyenangkhanh4971 2 роки тому +3

    thay ++it thành it++ cũng ko khác j đâu anh nhỉ

  • @loitaiemvn9738
    @loitaiemvn9738 Рік тому +1

    15:00

  • @quanglynguyen7887
    @quanglynguyen7887 Рік тому

    có cách nào để biết 1 phần tử đã xuất hiện trong vector chưa vậy mn

    • @28tech_
      @28tech_  Рік тому

      Tìm kiếm tuyến tính thôi bạn

  • @kimsabu4425
    @kimsabu4425 3 роки тому

    anh ơi còn muốn nhập mà không biết trước số lượng phần tử thì làm như nào ạ. Kiểu vừa nhập rồi vừa đưa mấy phần tử vào vector luôn í

    • @28tech_
      @28tech_  3 роки тому

      Đưa 1 thôi chứ sao lại đưa mấy

    • @QuangTran-rl5xt
      @QuangTran-rl5xt 2 роки тому

      xem kĩ lại đi ảnh có chỉ rồi á bạn. tạo biến x rồi cin>>x xong push_back(x)vào

  • @Mouse_2k9
    @Mouse_2k9 Рік тому

    làm sao để comment full đoạn code vậy anh =)))

    • @28tech_
      @28tech_  Рік тому

      bôi đen hết rồi ctrl + / là đc nhé

  • @manhcuong2926
    @manhcuong2926 3 роки тому

    dạ cho em hỏi tại sao trong vector khi xóa thì thường phải xóa vector.end() ạ nếu ko xóa vector.end() thì dư cái phần tử sau vị trí cuối cùng liệu chương trình có sai ko ạ

    • @28tech_
      @28tech_  3 роки тому +2

      sao lại xóa vector.end() nhỉ, a chưa xóa vector.end() bao h. vì nó ko phải là iterator trỏ tới phần tử nào trong vector. Thường xóa phần tử ở cuối vector họ dùng pop_back hoặc erase(v.size() - 1).

  • @EasyLove2000
    @EasyLove2000 Рік тому +1

    8:31

  • @fruith_
    @fruith_ 2 роки тому

    Anh Andrew ơi em muốn hỏi là khi khai báo kiểu a[n] thì n phải là 1 hằng số hay phải nằm trong #define thì mới làm được chứ ạ. Em vẫn chưa hiểu sao khi mà nó chưa phải là 1 hằng số hay #define thì vẫn ko bị lỗi gì,
    kiểu
    int n = 10;
    int a[n];
    thì vẫn được.

    • @28tech_
      @28tech_  2 роки тому +3

      Được mà em, ko vấn đề gì, có bên vscode thì nó cần chặt chẽ hơn nên ko cho khởi tạo cỡ của mảng là 1 biến không phải hằng.

  • @KienNguyen-mo3we
    @KienNguyen-mo3we 3 роки тому

    sao e nhập cách duyệt interator vs auto mà máy em cứ báo lỗi a nhỉ

    • @28tech_
      @28tech_  3 роки тому +1

      Chắc chưa cài chuẩn C++ 11. Trong Dev c e vào Tool-> compiler option -> setting -> code generation -> language standard rồi chọn GNU++11.

  • @truongconghoangthanh4958
    @truongconghoangthanh4958 Рік тому

    int main(){
    vector v;
    int n;
    cin >> n;
    while(n){
    v.push_back(n%10);
    n/=10;
    }
    // insert all digit of N into vector
    // for(int i=0; i < v.size(); i++){
    // cout

  • @danhphanehe1655
    @danhphanehe1655 2 роки тому

    16:03

    • @28tech_
      @28tech_  2 роки тому

      Sao sao 😁😁😁

    • @danhphanehe1655
      @danhphanehe1655 2 роки тому

      @@28tech_ Dạ em lưu phần cần xem ạ,anh dạy rất hay cảm ơn anh.Năm ngoái em được nhì tỉnh rồi năm nay mong được nhất để thi quốc gia.Keep it up nha anh

    • @28tech_
      @28tech_  2 роки тому

      @@danhphanehe1655 ok e :D

  • @LTL1204
    @LTL1204 Рік тому

    8

  • @Vanh1364
    @Vanh1364 Рік тому

    mọi người cho mình hỏi 7:06 x : v là gì v ạ

    • @28tech_
      @28tech_  Рік тому

      Nó là range base for loop. Bạn tìm hiểu nhé.

    • @Vanh1364
      @Vanh1364 Рік тому

      @@28tech_ vâng ạ

  • @tranduy1208
    @tranduy1208 3 роки тому

    hoàng tài đúng ko b?

    • @28tech_
      @28tech_  3 роки тому

      Không hiểu câu hỏi của b.

    • @tranduy1208
      @tranduy1208 3 роки тому

      @@28tech_ à.tên b có phải là hoàng tài ko ấy.:D

    • @28tech_
      @28tech_  3 роки тому

      @@tranduy1208 Không b ơi.

  • @QuyenNguyen-cu6pk
    @QuyenNguyen-cu6pk 21 день тому

    Khó anh nhỉ

    • @28tech_
      @28tech_  20 днів тому

      Cái này ko khó đâu em, nó chưa bắt mình suy nghĩ gì nhiều chỉ là áp dụng kiến thức được cung cấp

  • @blackquan7550
    @blackquan7550 Рік тому

    anh nói to lêm tí đi anh

  • @manhcuong2926
    @manhcuong2926 3 роки тому

    for(auto x : adj[a])
    {
    adj[x].erase(remove(adj[x].begin(),adj[x].end(),a) , adj[x].end());
    }
    adj[a].clear(); Dạ khi xóa danh sách kề của 1 đỉnh ạ nếu bỏ adj[x].end() thì chương trình vẫn chạy đúng nhưng nộp sai ạ

    • @28tech_
      @28tech_  3 роки тому

      Xóa danh sách kề của 1 đỉnh thì e chỉ cần adj(i).clear là được mà. Làm gì phức tạp thế. Chắc check đỉnh trụ ah 😆😆😆😆

    • @manhcuong2926
      @manhcuong2926 3 роки тому

      @@28tech_ Dạ cái em đang xét là đơn đồ thị vô hướng ấy anh

    • @28tech_
      @28tech_  3 роки тому

      @@manhcuong2926 uh nhưng mà e làm phức tạp quá, với a ko rõ bài là gì nên khó giải thích.

    • @manhcuong2926
      @manhcuong2926 3 роки тому

      @@28tech_ dạ

  • @monboy4903
    @monboy4903 Рік тому

    hay quá ạ