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ố 11 kết quả

Đề tài: C: tìm mảng con tăng dần dài nhất và xuất

  1. #1
    Ngày gia nhập
    01 2008
    Bài viết
    2

    Wink C: tìm mảng con tăng dần dài nhất và xuất

    Em mới học C mấy anh giúp em bài này với em cảm ơn nhiều.Đề:
    Nhập mảng 1 chiều a gồm n phần tử tìm mảng con tăng dần dài nhất và xuất.

    Mấy anh có thể cho em chút kinh nghiệm ko em đi theo mạng,mà trường bắt học C em học chưa chắc mà sang hk2 em học cấu trúc dữ liệu và giải thậut rồi,vậy em có cần học lại C ko à.

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

    sao trường của bạn quen quen ... hihi . ah mình nghĩ dù bạn học gì đi nữa thì cũng nên nắm vững C .
    Về bài tập thì bạn có thể đi theo hướng thế này . xét vòng lặp từ trái sang phải của mảng , mỗi vị trí sẽ là nơi xuất phát , xét phần tử kế nó có thoả tính chất tăng dần hay ko , cứ đi đến khi nào ko thoả nữa thì thôi . cập nhật độ dài của mảng con dài nhất mới , nếu nó tốt hơn cái cũ thì lưu vị trí khởi đầu và chiều dài của nó lại . chúc bạn làm được

  3. #3
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Dr đã sửa lại tiêu đề bài viết cho bạn. Lưu ý bạn khi viết tiêu đề là: Mục tiêu của bạn là gì thì viết cái đó. Mục tiêu là bạn muốn tìm mảng con tăng dần dài nhất trong mảng mà lại hỏi là Mảng một chiều a có n phần tử? Mảng một chiều nào mà chả có n phần tử? Nhớ nhé!

    Các bạn tham gia, rất ngại đọc Nội quy, Chính vì cái ngại đó, nó đã làm trì trệ bao nhiêu công việc của bạn đó. (Thử nghĩ và kiểm tra lại xem, trong cuộc sống của bạn có phải như thế không?)

    Về bài này, tương đối là khó khăn với những người mới học, nhưng trong diễn đàn đã có nhiều đề tài thảo luận chi tiết về cái này rồi. Bài làm là của bạn, chứ không phải của Dr hay của bất cứ thành viên nào khác. Nếu bạn không chịu khó tìm kiếm, thì còn để ai tìm cho bạn đây?

    Cố gắng lên nhé. Nếu cảm thấy không ổn thì học lại cũng không sao cả. Không phải là mình dốt phải học lại mà là mình chưa có cách để học tốt đó thôi.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  4. #4
    Ngày gia nhập
    01 2008
    Bài viết
    2

    Cảm ơn Mod nhiều lắm,em sẽ tìm nhưng nếu ai có code cho em xin nha.Học lại gần 2t/môn muốn học lại cho chắc mà vât giá đang leo thang hxhix

  5. #5
    Ngày gia nhập
    11 2007
    Bài viết
    47

    Bài này làm theo quy hoạch động là hay nhất
    Giả sử có mảng a n phần tử
    Quy ước mảng b cũng có n phần tử, trong đó b[i] là số lượng phần tử của dãy con dài nhất có chứa phần tử a[i].
    ->b [0] = 1

    Từ giả thiết b[i] là số lượng phần tử của dãy con dài nhất có chứa phần tử a[i]
    -> b[i] = max ( b[j] ) + 1 trong đó a[j] <= a[i] và j < i
    Trong trường hợp không tồn tại j <i thỏa mãn a[j] <= a[i] thì b[i] = 1

    Sau khi tính toán xong mảng b, bạn tìm max = max ( b[i] ), rồi lần ngược lại sẽ tìm ra dãy con tăng dần có đọ dài lớn nhất

  6. #6
    Ngày gia nhập
    01 2008
    Bài viết
    41

    Mặc định C: tìm mảng con tăng dần dài nhất và xuất

    đúng là bài này phải dùng QHD,bài này là bài đầu tiên trong phần QHD của hầu hết các sách tham khảo,mà sao mới học mà đã phải làm bài về QHD nhỉ :(,hơi lạ

  7. #7
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Potay ! Sao thầy cô thích cho đề bài đánh đố quá cỡ cho những người mới học thế nhỉ ? Bài này mặc dù là cơ bản của QHD nhưng nếu mới học lập trình thì phải nói là không thể nào giải được :( ! Đúng là không thể hiểu thầy cô cho những đề bài để làm gì hơn là những bài tập cơ bản để học sinh có thể tự làm được. Đây là 1 bài mình và các bạn khác đã từng thảo luận rồi nhưng nói chung bạn thấy không hiểu cũng kệ nó, tìm mấy bài cơ bản làm đi đã. Mình đang học ở college bên đây, học sinh mới học chỉ làm những bài đơn giản thôi, những bài này là tự học thôi, đừng quan tâm nhiều tới nó làm gì. Mình đưa link cho bạn tham khảo, bạn hiểu được thì hiểu còn không cũng chẳng sao, không phải phải giải được những bài này mới có thể làm lập trình viên T_T :
    Code:
    http://forums.congdongcviet.com/showthread.php?t=4814

  8. #8
    Ngày gia nhập
    12 2007
    Bài viết
    28

    Theo mình thì bài này chưa hẳn là bài QHD đâu. Hồi năm nhất cũng gặp bài dạng này 1 lần, mấy đứa trong lớp cứ nghĩ là dãy con như trong Giải tích A1 nên toàn làm QHD. Đến lúc thầy giải thì mảng con gồm các phần tử liền nhau

  9. #9
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Nhập mảng 1 chiều a gồm n phần tử tìm mảng con tăng dần dài nhất và xuất.
    Nếu đề thế này thì hoặc là thử sai hoặc là QHD, nếu có thêm các phần tử liền nhau thì lại đúng như blackpawn nói. Nhưng nói chung mới học 1 tháng, 2 tháng mà phang vào những bài này thì cũng hơi quá tay T_T

  10. #10
    Ngày gia nhập
    07 2007
    Nơi ở
    Hồ Chí Minh
    Bài viết
    66

    Với bài của bạn.
    Tìm mảng tăng dần dài nhất.
    Bạn sẽ tạo nên mảng có chiều dài như mảng kia để count.

    Code:
    int mang1[MAX];
    int mang2[MAX];
    mang2[0] = 0;
    for(int n = 1;n<MAX;n++)
    {
             if(mang1[n] >= mang1[n-1]) 
                    mang2[n] +=mang2[n-1];
             else mang2[n] = 0;
    }
    //Tìm max cout trong mang 2 để biết dc mảng con nào tăng dài nhất.
    Thèm khát con gái !!
    ......................

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

  1. Bài tập C Nhập - Xuất - Sắp tăng dần mảng 1 chiều bằng con trỏ.
    Gửi bởi contra1221 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 01-10-2011, 10:33 AM
  2. Viết chương trình nhập vào mảng n số nguyên, sắp xếp mảng tăng dần. Xuất ra màn mình m
    Gửi bởi vinkt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 31-08-2010, 05:55 AM
  3. Xuất dãy con tăng dài nhất
    Gửi bởi thulinhsoi trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 10-09-2009, 07:46 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