Hàm Có Thể Trả Về 1 Mảng Hay Không? - Programming - Dạy Nhau Học Trang chủ » Hàm Trả Về Mảng Trong C » Hàm Có Thể Trả Về 1 Mảng Hay Không? - Programming - Dạy Nhau Học Có thể bạn quan tâm Ham Tra Xanh Hàm Trề Hàm Trên Lệch Hàm Dưới Hàm Trên Và Dưới Hàm Trên Và Hàm Dưới Không Khớp Hàm có thể trả về 1 mảng hay không? programming c++ vinhthang (Vinh) June 7, 2021, 7:27am #1 Khi viết 1 hàm thì lệnh return có thể trả về 1 mảng ko mn? MeigyokuThmn (明玉) September 18, 2017, 4:14pm #2 C++ thì bạn trả về cái gì cũng được hết á. Vô tư. Nhưng sau này bạn học lên cao thì phải hiểu cách nó làm thế nào trong stack, để còn optimize nữa. 1 Like vinhthang (Vinh) September 18, 2017, 4:15pm #3 nếu nó trả về mảng thì lưu thế nào ạ vinhthang (Vinh) September 18, 2017, 4:16pm #4 bài toán tìm các ước của 1 số ,muốn nó return tất cả các ước thì làm sao ạ tntxtnt () September 18, 2017, 4:28pm #5 trả về std::vector<int> #include <iostream> #include <vector> std::vector<int> divisors(int n) { std::vector<int> a; for (int i = 1; i <= n; ++i) if (n % i == 0) a.push_back(i); return a; } int main() { auto a = divisors(10); for (int x : a) std::cout << x << ' '; //hoặc dài dòng hơn std::vector<int> a = divisors(10); for (int i = 0; i < a.size(); ++i) std::cout << a[i] << ' '; } 1 Like vinhthang (Vinh) September 18, 2017, 4:24pm #6 nếu muôn tự viết hàm thì viết sao ạ tntxtnt () September 18, 2017, 4:26pm #7 tự viết hàm là sao… vinhthang (Vinh) September 18, 2017, 4:27pm #8 ko dùng đến thư viện vector tntxtnt () September 18, 2017, 4:38pm #9 vậy thì em phải có 1 con trỏ sẵn ở chỗ trả về, rồi truyền con trỏ này vào cái hàm tìm ước kia. Trong hàm truyền ước duyệt 2 lần, lần đầu tiên đếm xem n có bao nhiêu ước, rồi cấp phát bộ nhớ cho đủ, rồi vòng lặp thứ 2 cho các ước đó vào int* getDivisors(int n, int& count) { // đếm xem n có bao nhiêu ước count = 0; for (int i = 1; i <= n; ++i) if (n % i == 0) count++; // cấp phát bấy nhiêu chỗ trống cho mảng a int* a = new int[count]; // copy các ước đó vào mảng a for (int i = 1, j = 0; i <= n; ++i) if (n % i == 0) a[j++] = i; return a; } int main() { int count; int* a = getDivisors(10, count); for (int i = 0; i < count; ++i) std::cout << a[i] << " "; // nhớ phải giải phóng a sau khi xài xong delete[] a; } xài thẳng vector cho nó khỏe, khỏi phải nhớ cấp phát bao nhiêu, giải phóng lúc nào, khỏi cần biến count phụ trợ để biết a có bao nhiêu phần tử, v.v…, và viết hàm trả về thẳng cái mảng cho dễ hiểu thay vì phải trả về con trỏ 1 Like vinhthang (Vinh) September 18, 2017, 4:48pm #10 số là do mình nhâp vào nên chỗ n%i==0 có vẻ ko đúng a ạ try_forever (nghia) September 18, 2017, 5:01pm #11 tntxtnt: auto a = divisors(10); Anh cho em hỏi tại sau ở đây lại dùng keywork auto? noname00 (HK boy) September 18, 2017, 5:11pm #12 Để tự động xác định kiểu cho biến a gán với divisors(10). Bạn google “auto c++11”. 1 Like try_forever (nghia) September 18, 2017, 5:10pm #13 cảm ơn anh! Chứ hồi đó em đọc thì có auto thì cũng như không có auto! Nên em thắc mắc! vậy là em chậm công nghệ rồi! tntxtnt () September 18, 2017, 5:40pm #14 do lười… std::vector<int> vs auto cái nào dễ hơn 2 Likes try_forever (nghia) September 19, 2017, 2:02am #15 Chào anh tntxtnt! tại em không biết nên hỏi chứ không có gì hết anh! Mà nhờ anh em mới biết thêm C++ 11 MrEZ (Nguyễn Quốc Hoàng) September 20, 2017, 6:51pm #16 trong C thì HOÀN TOÀN ĐƯỢC, bạn chỉ cần hiểu về con trỏ là được DayNhauHoc's Discord Học C++ Free? Click Blog Dạy Nhau Học Tự Học Lập Trình 83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao? Từ khóa » Hàm Trả Về Mảng Trong C Trả Về Mảng Từ Một Hàm Trong C - Hoclaptrinh Trả Về Mảng Từ Hàm Trong C | 64 Bài Học Lập Trình C Hay Nhất C - Bài 22: Truyền Mảng Và Trả Về Mảng Từ Hàm. - YouTube [Solved]Hàm Trả Về Mảng [Archive] - Cộng đồng C Việt Giúp đỡ Về Cách Return Trả Kết Quả Cho Mảng - Dạy Nhau Học Mảng (Array) Trong C/C++ Return Trong C Trả Về Con Trỏ Từ Hàm Trong C++ - Học Lập Trình C++ Online - VietTuts Hàm : Hàm Có Giá Trị Trả Về Và Hàm Void Trong C | Codelearn Mảng Và Hàm Trong C++ - TEK4 Bài 10: Mảng Trong C - Học Lập Trình C Cơ Bản Hàm Trả Về Giá Trị, Tham Chiếu Và địa Chỉ Trong C++(value, Reference ... Cách Trả Về Một Chuỗi Từ Một Hàm C - Tech Wiki [PDF] Bài 10: Con Trỏ Và Mảng động - UET