Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: tìm số dương đầu tiền trong mảng 1 chiều phân số ???

  1. #1
    Ngày gia nhập
    03 2012
    Bài viết
    14

    Mặc định tìm số dương đầu tiền trong mảng 1 chiều phân số ???

    em làm bài này mà không biết mình bị sai chỗ nào, lỗi logic wa trầm trọng mong các bạn giúp đỡ...



    float giatri(float a,float b)
    {
    float s;
    s=a/b;
    return s;
    }

    void phansoduong(phanso p[10], int n)
    {

    phanso M;
    int i=0;
    bool flag;
    flag=false;
    while(flag=false&&i<n)
    {
    if(giatri(p[i].tuso,p[i].mauso)>0)
    {
    M.tuso=p[i].tuso;
    M.mauso=p[i].mauso;
    flag=true;
    }
    i++;
    }
    cout<<"phan so duong dau tien la: "<<M.tuso<<"/"<<M.mauso<<".";
    }


    em thấy nhiều bài làm kiểu thay vì dùng void mà lại sử dụng la phanso (cai nay em tự gọi),nó có tác dụng gì vậy???

  2. #2
    Ngày gia nhập
    11 2011
    Bài viết
    12

    theo mình trong hàm void phansoduong thì hàm while phải là while(flag==false && i<n)
    Bạn nên kiểm tra giá trị của cờ flag, nếu flag==false thì hok có giá trị dương, ngược lại thì xuất

  3. #3
    Ngày gia nhập
    04 2012
    Nơi ở
    số 583 ấp nhơn bình a, xã nhơn ái, huyện phong điền, TP Cần Thơ
    Bài viết
    6

    tui có vài góp ý có gì bạn đừng buồn nhé! nếu lấy giá trị của phân số thì ta nên cho đối số là phân số để về sao tiện sử dụng chứ ko nên cho 2 cái float như thế! ngoài ra hàm tìm phân số dương đầu tiên hay tìm min tìm max như bữa trước bạn nên trả về kiểu phân số đề về sao còn sài cho chuyện khác chứ không thể chỉ là xuât ra màn hình rồi thôi!

  4. #4
    Ngày gia nhập
    04 2012
    Nơi ở
    số 583 ấp nhơn bình a, xã nhơn ái, huyện phong điền, TP Cần Thơ
    Bài viết
    6

    phanso psduong(phanso p[], int n)//theo logic tim phan sotro ng mang phan so thi ket qua phai ra 1 phan so!
    {
    phanso tam;
    for (int i=0; i<n; i++)
    {
    if (giatri(p[i])>0)
    {
    tam = p[i];
    break;//vi chi lay phan so duong dau tien nen dung vong lap khi tim thay! neu ko no se lay ps duong cuoi cung!
    }
    }
    return tam;
    }

  5. #5
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trích dẫn Nguyên bản được gửi bởi daisatthu04 Xem bài viết
    phanso psduong(phanso p[], int n) //theo logic tim phan sotro ng mang phan so thi ket qua phai ra 1 phan so!
    {
    phanso tam;
    for (int i=0; i<n; i++)
    {
    if (giatri(p[i])>0)
    {
    tam = p[i];
    break;//vi chi lay phan so duong dau tien nen dung vong lap khi tim thay! neu ko no se lay ps duong cuoi cung!
    }
    }
    return tam;
    }
    Lô gíc của giải thuật này sai rồi. Hàm tìm kiếm luôn luôn phải có cách cho code gọi biết tìm có được hay không.

    Lô gíc thường hay dùng để tìm kiếm trong mảng là trả về số int, chỉ số của phẩn tử tìm được. Nếu không tìm được thì trả về một sô âm.

  6. #6
    Ngày gia nhập
    03 2012
    Bài viết
    14

    Mặc định tìm số dương đầu tiền trong mảng 1 chiều phân số ???

    Trích dẫn Nguyên bản được gửi bởi daisatthu04 Xem bài viết
    tui có vài góp ý có gì bạn đừng buồn nhé! nếu lấy giá trị của phân số thì ta nên cho đối số là phân số để về sao tiện sử dụng chứ ko nên cho 2 cái float như thế! ngoài ra hàm tìm phân số dương đầu tiên hay tìm min tìm max như bữa trước bạn nên trả về kiểu phân số đề về sao còn sài cho chuyện khác chứ không thể chỉ là xuât ra màn hình rồi thôi!
    không sao, mình cũng cám ơn vì bạn đã góp ý,cũng nhờ bạn mà mình biết dc cách giải mới(đối với mình vì tự học là chính mà)...Những bài mà bạn vừa post cho mình mình cũng đã làm và ra kết quả, có cái là cách của mình thì lại làm không ra nên không hiễu...^^
    Đã được chỉnh sửa lần cuối bởi nguyenthien2121 : 03-04-2012 lúc 03:49 PM. Lý do: thêm

  7. #7
    Ngày gia nhập
    03 2012
    Bài viết
    14

    mình làm cách này theo bạn nhưng không biết cuối cùng thì return nó làm sao.

    phanso psduong(phanso p[10],int n)
    {
    int i;
    phanso tam;
    for(i=0;i<n;i++)
    {
    if(giatri(p[i])>0)
    {
    tam=p[i];
    return tam;
    }
    }
    return tam;// cái phần này mình không biết return sao cho đúng nữa .
    }

Các đề tài tương tự

  1. Mảng 2 chiều vào trong hàm bị chuyển thành mảng 2 chiều , tại sao ???
    Gửi bởi kwideur trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 06-07-2013, 08:35 PM
  2. Trả lời: 2
    Bài viết cuối: 21-04-2013, 09:46 AM
  3. Lỗi: bố cục trang web tự tăng theo chiều ngang khi chiều cao thay đổi
    Gửi bởi tuanngocpt trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 16-03-2013, 11:25 PM
  4. Trả lời: 1
    Bài viết cuối: 28-04-2012, 09:43 PM
  5. Trả lời: 0
    Bài viết cuối: 04-11-2011, 03:38 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn