Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 13
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    viết 1 hàm có thể return được 2 giá trị cùng lúc?

    Chào các bạn, mình mới làm quen với C.Đang học đến bài hàm trong C. Mình có 1 thắc mắc nhỏ muốn hỏi các bạn. Mình ko biết làm sao để viết 1 hàm có thể return lại cùng lúc 2 giá trị. Ví dụ như sau: Cho mảng A gồm 5 phần tử : 1,7,10,12,15. Viết hàm tìm 2 giá trị lớn nhất trong mảng (12 và 15). Vậy anh em có thể viết giúp mình 1 hàm mà có thể trả về 1 lúc 2 giá trị là 12 và 15 hay ko? Mình ko biết làm sao hết. Cảm ơn rất nhiều !!![IMG]images/smilies/kiss.gif[/IMG]

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    trả về cấu trúc gồm max min
    ok

  3. #3
    Trích dẫn Gửi bởi kidteam
    trả về cấu trúc gồm max min
    ok
    Mình chưa hiểu lắm bạn àh, bạn có thể viết rõ code ra được ko?

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn chắc mới học hàm.
    Cái này là cách tổ chức các tham số thôi. Một hàm thì chỉ thực hiện return đúng 1 lần ( bạn hãy xem lại lệnh return). Nếu bạn muốn trả về cả Max1 và Max2 thì có 2 lựa chọn.

    1. Bạn dùng 1 tham số lưu giá trị Max1, return trả về giá trị Max2. Khai báo nguyên mẫu

    Mã:
    int getMax(int a[], int n, int *Max1); // n là số phần tử của mảng
    2. Bạn dùng 2 tham số cho 2 giá trị Max1, Max2.

    Mã:
    void getMax(int a[], int n, int *Max1, int *Max2);
    Với cách nào cũng được, nhưng cách 2 hay sử dụng hơn.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cái này có nhiều cách. Và để làm cái này rất thoải mái, chỉ cần tưởng tượng 1 tí.
    Múc nước(tính ra dc giá trị cần lấy, lưu lại để sử dụng) xong xuôi thì cần có 1 cái ca/xô/chậu để đựng.
    Giờ việc là lấy loại ca/xo/chậu nào để đựng nước ? Vậy chọn loại nào có nhièu ngăn để đựng dc nhiều loại nước chứ, có mỗi 1 ngăn thì làm sao đựng 2 loại nc trở lên ?

    Trong C có nhiều loại ca/xô/chậu có nhiều ngăn/ tức là đựng dc nhiều loại nước:
    struct , mảng, và tham số tham biến cũng là 1 cách <<--- cách này người ta hay dùng, và nhà trường cũng hay bày cách này cho sinh viên khi gặp vấn đề return nhiều giá trị.
    Tạm thời có 3 cách như thế. Cụ thể ra sao thì tìm hiểu 3 thuật ngữ đó là sẽ ra

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Người ta nhờ viết giúp chứ có phải hỏi lý thuyết đâu mà quý vị phí hơi.

    Việc "return nhiều hơn 1 trị" này đã có bàn qua trên diễn đàn rồi. Chỉ cần chịu khó tìm thôi.

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cách ngắn gọn nhất là chuyền tham chiếu:
    Mã:
           void getMax(int* array, int size, int& firstMax, int& secondMax);

  8. #8
    Nhờ viết giúp thì ko có đâu á. "Không, không, tôi không còn tôi không còn viết code nữa..."
    Chỉ có lý thuyết chay thôi, eo ôi mình hỗng có biết viết cốt đâu chủ bài ơi

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Hàm trả về chỉ trả về 1 đối số đc thôi, còn ko bạn phải dùng hàm void ko thể dùng đc hàm trả về, theo mình hiểu là thế

  10. #10
    Ngày tham gia
    Sep 2015
    Đang ở
    Hà Nội
    Bài viết
    0

    còn ko bạn phải dùng hàm void ko thể dùng đc hàm trả về
    Là sao hả thantaithieugia ??
    Nói cái gì chả hiểu luôn

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •