Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 19 kết quả

Đề tài: tìm số thứ tự bắt đầu và kết thúc

  1. #1
    Ngày gia nhập
    02 2012
    Nơi ở
    everywhere
    Bài viết
    13

    Mặc định tìm số thứ tự bắt đầu và kết thúc

    mình trên trường có cho một bài kêu tìm chuỗi có tổng max trong một chuỗi số và hỏi tổng của chuỗi bao nhiêu và chuỗi đó bắt đầu từ số thứ tự số mấy đến số mấy ?
    VD : -1 ,-4 , 2, 3, 4,-5 ,-6.
    ở đây có chuỗi max tổng là : 9 ,bắt đầu từ số vị trí thứ 3 (2) đến vị trí thứ 5 ( 4)
    tìm tổng max thì mình tìm ra nhưng số thứ tự thì ko biết tìm sao mong các bạn chỉ giáo giúp
    P/s: cho mình hỏi thêm ông thầy có kêu viết báo cáo Report.doc nhưng là sao có ai giải thích giùm mình =.="
    Đã được chỉnh sửa lần cuối bởi yokashi : 23-02-2012 lúc 10:47 PM.

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

    Trích dẫn Nguyên bản được gửi bởi yokashi Xem bài viết
    mình trên trường có cho một bài kêu tìm chuỗi có tổng max trong một chuỗi số và hỏi tổng của chuỗi bao nhiêu và chuỗi đó bắt đầu từ số thứ tự số mấy đến số mấy ?
    VD : -1 ,-4 , 2, 3, 4,-5 ,-6.
    ở đây có chuỗi max tổng là : 9 ,bắt đầu từ số vị trí thứ 3 (2) đến vị trí thứ 5 ( 4)
    tìm tổng max thì mình tìm ra nhưng số thứ tự thì ko biết tìm sao mong các bạn chỉ giáo giúp
    P/s: cho mình hỏi thêm ông thầy có kêu viết báo cáo Report.doc nhưng là sao có ai giải thích giùm mình =.="
    Theo mình bạn nên sử dụng 1 mạng 2 chiều có kích thước gồm 3 dòng và k cột để lưu các mảng con có thể thỏa yêu cầu, sau đó hãy so sánh tổng các mảng con và tìm max. Trong đó thì k cột chính là số mảng con bạn có thể tìm được, 3 dòng dùng để lưu 3 thông tin bạn cần là tổng, vị trì bắt đầu và kết thúc.

  3. #3
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Có công việc "nhỏ" sau:
    Tìm 1 dãy con có tổng max(tìm cách nào tùy bạn)
    Dãy con này có 2 chỉ số : chỉ số đầu và chỉ số cuối .
    _______________________
    Công việc lớn tiếp theo:
    Duyệt dãy mẹ, mở rộng từ từ dãy con ra
    Nếu dãy con sau khi mở rộng có tổng lớn hơn dãy trước thì Gán lại dãy tổng max = dãy mới.
    Tiếp tục duyệt

    Nội dung cốt lõi là nằm ở cái công việc "nhỏ" kia kìa.
    Đã được chỉnh sửa lần cuối bởi clchicken : 24-02-2012 lúc 02:40 AM.
    Um Mani Padme Hum...!!

  4. #4
    Ngày gia nhập
    02 2012
    Nơi ở
    everywhere
    Bài viết
    13

    Mặc định số đầu tiên

    ừm.... bạn có thể nói rõ hơn không đoạn tìm bắt đầu kết thúc mình chưa hiểu :(
    số kết thúc mình đem tìm trong cùng một vòng lặp for tìm tổng max còn số đầu tiên thì mình ko bik :(
    p/s : mình mới mảng 1 chiều thôi
    Đã được chỉnh sửa lần cuối bởi yokashi : 24-02-2012 lúc 09:39 AM.

  5. #5
    Ngày gia nhập
    10 2011
    Bài viết
    552

    tìm tổng max thì mình tìm ra
    Cậu làm cụ thể cái này như thế nào ?
    Đưa ý tưởng + code cái chỗ này lên thảo luận

    Rồi bày cho cách tìm vị trí
    Um Mani Padme Hum...!!

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

    Mặc định tìm số thứ tự bắt đầu và kết thúc

    Trích dẫn Nguyên bản được gửi bởi yokashi Xem bài viết
    mình trên trường có cho một bài kêu tìm chuỗi có tổng max trong một chuỗi số và hỏi tổng của chuỗi bao nhiêu và chuỗi đó bắt đầu từ số thứ tự số mấy đến số mấy ?
    VD : -1 ,-4 , 2, 3, 4,-5 ,-6.
    ở đây có chuỗi max tổng là : 9 ,bắt đầu từ số vị trí thứ 3 (2) đến vị trí thứ 5 ( 4)
    tìm tổng max thì mình tìm ra nhưng số thứ tự thì ko biết tìm sao mong các bạn chỉ giáo giúp
    P/s: cho mình hỏi thêm ông thầy có kêu viết báo cáo Report.doc nhưng là sao có ai giải thích giùm mình =.="
    Đưa cái hàm tìm tổng max lên rồi người ta sẽ chỉ cho cách khai triển ra chỗ còn lại.
    Có đưa lên thì chịu khó tag đàng hoàng, chứ quăng một đống cốt thậm thượt thì ai mà đọc nổi.

  7. #7
    Ngày gia nhập
    02 2012
    Nơi ở
    everywhere
    Bài viết
    13

    Mặc định code

    code đây
    à cho mình hỏi một chuỗi tổng max lấy duy nhất một số đc ko hay ít nhất phải 2 số ?
    C Code:
    1. void timmax ( int a[] , int &n)
    2. {
    3.     int i = 0 ;
    4.     int s = 0 ;
    5.     int max = 0;
    6.     for ( i = 0 ; i < n ; i++)
    7.     {
    8.         s = s + a[i];
    9.         if (s > max)
    10.         {
    11.             max = s;
    12.         }
    13.         else
    14.         {
    15.             if( s < 0)
    16.             {
    17.                 s = 0;
    18.             }
    19.         }
    20.     }
    21.     printf("chuoi max :%d\n" ,max);
    22. }
    P/s : ai giải thích giùm mình ông thầy kêu làm báo cáo report.doc là sao = ="

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

    Giải thuật của bạn sai rồi.
    Muốn tìm tổng lớn nhất thì chuỗi con phải bắt đầu bằng số dương, và kết thúc ngay trước một số âm.
    Như vậy bạn phải duyệt chuỗi, tìm số duơng đầu tiên và bắt đầu tính tổng cho đến khi gặp số âm thì dứt chuõi con. Nhảy qua các số âm cho đến khi gặp số dương khác. Tiếp tục làm tổng và so sánh
    Nếu mảng chỉ chứa toàn âm thì chuỗi con là phần tử có trị lớn nhất (trị tuyệt đối nhỏ nhất)

    Bình thường thì báo cáo có nghĩa là viết một bài diễn tả giải thuật. Kết luận bằng một số dữ liệu để test và kết quả.

    Tuy nhiên, để chắc ăn thì ai đòi hỏi gì mà mình không hiểu thì hỏi người đó.

  9. #9
    Ngày gia nhập
    02 2012
    Nơi ở
    everywhere
    Bài viết
    13

    ....giải thuật của mình là mới vô lấy s là số đầu tiên trong chuỗi nhập rồi sau đó công tiếp với số tiếp theo và cho tổng lúc đó là max rồi công tiếp, nếu tổng tiếp theo lớn hơn thì thay tổng đó là max, còn nếu tổng đó là âm thì bỏ s trở lại = 0 tính một tổng chuỗi mới,
    nếu số bắt đầu là số âm thì s sẽ vẫn = 0 do có cái dòng else mình cho
    bài tập mình đc cho là chuỗi có cả âm lẫn dương tìm chuỗi có tổng lớn nhất , có âm dương cũng không sao, miễn sao là chuỗi có tổng lớn nhất.

  10. #10
    Ngày gia nhập
    02 2012
    Nơi ở
    everywhere
    Bài viết
    13

    hix có ai đó giúp mình cái tìm số thứ tự đầu và cuối cùng của chuỗi tổng max cũng đc rồi = =" làm ơn giúp với nghĩ hoài ko ra cách tìm và viết sao ra được = =" hix hix

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

  1. Kỹ thuật C tại sao mảng có kí tự kết thúc lại là rỗng
    Gửi bởi vanvien trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 09-04-2013, 09:25 AM
  2. VS không xem \n là kí tự kết thúc ???
    Gửi bởi kwideur trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 08-03-2013, 09:32 PM
  3. Hàm trong C hàm tính số ngày (có ngày bắt đầu và ngày kết thúc) trong c
    Gửi bởi huynhhoangdong trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 07-11-2012, 05:20 PM
  4. làm sao chọn điều kiện giữa ngày bắt đầu và ngày kết thúc
    Gửi bởi thuan trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 5
    Bài viết cuối: 22-08-2011, 08:10 AM
  5. Kết thúc chương trình
    Gửi bởi fire_dragon14988 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 13-09-2008, 02:08 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