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: [ Solved ]Sắp xếp hai dãy số

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

    Red face [ Solved ]Sắp xếp hai dãy số

    Có ai biết cách sắp xếp hai dãy số cho trước theo chiều tăng dần bảo tớ với bằng C chỉ cách cho mình với.

  2. #2
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Trích dẫn Nguyên bản được gửi bởi thuchanh Xem bài viết
    Có ai biết cách sắp xếp hai dãy số cho trước theo chiều tăng dần bảo tớ với bằng C chỉ cách cho mình với.
    1 5 8 9 16 18
    2 2 3 3 9 10

    -> 1 2 2 3 3 5 8 9 9 10 16 18
    Như vậy hở you?
    Nếu vậy thì chịu khó tìm nhé, diễn đàn có bàn luận rồi.
    Nếu không thì , gợi ý chút:
    Lấy hai biến làm chỉ số của mỗi dãy.
    Rồi so sánh Matrix1[_index1] với Matrix2[_index2]
    Cái nào lớn hơn hoặc bằng thì tăng _index lên và bind nó vào dãy thứ 3
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

  3. #3
    Ngày gia nhập
    04 2008
    Bài viết
    24

    Diễn đàn có rất nhiều bài viết về thuật toán sắp xếp. Bạn có thể vào thử link này http://forums.congdongcviet.com/showthread.php?t=7216
    Ngoài ra còn nhiều nữa trên diễn đàn, bạn hãy tìm thêm. Chúc bạn thành công !

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

    Trích dẫn Nguyên bản được gửi bởi NT_OnlyLove Xem bài viết
    1 5 8 9 16 18
    2 2 3 3 9 10

    -> 1 2 2 3 3 5 8 9 9 10 16 18
    Như vậy hở you?
    Nếu vậy thì chịu khó tìm nhé, diễn đàn có bàn luận rồi.
    Nếu không thì , gợi ý chút:
    đúng rồi chính là nó
    ký gì vào đây nhỉ ???

  5. #5
    Ngày gia nhập
    04 2008
    Bài viết
    5

    Trích dẫn Nguyên bản được gửi bởi lelinhcntt Xem bài viết
    Diễn đàn có rất nhiều bài viết về thuật toán sắp xếp. Bạn có thể vào thử link này http://forums.congdongcviet.com/showthread.php?t=7216
    Ngoài ra còn nhiều nữa trên diễn đàn, bạn hãy tìm thêm. Chúc bạn thành công !
    bài này là đối với một dãy . còn ý mình hỏi là hai dãy cơ.
    làm cách nào để nối hai dãy đó thành một dãy ???.
    vì mình mới học C nên kiến thức còn non yếu mong mọi mọi người chỉ bảo .
    ký gì vào đây nhỉ ???

  6. #6
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Mặc định [ Solved ]Sắp xếp hai dãy số

    Sử dụng con trỏ.
    C++ Code:
    1. int *a; //Khai báo con trỏ a
    2. a=new int[n]; //n là số phần tử mảng.

    Từ đó bạn có thể tùy biến mà nối hai mảng lại thành một mảng lớn -> sử dụng vòng lặp.
    Không biết ghi gì luôn ...

  7. #7
    Ngày gia nhập
    04 2008
    Bài viết
    5

    Trích dẫn Nguyên bản được gửi bởi Forlorn_hope Xem bài viết
    Sử dụng con trỏ.
    C++ Code:
    1. int *a; //Khai báo con trỏ a
    2. a=new int[n]; //n là số phần tử mảng.

    Từ đó bạn có thể tùy biến mà nối hai mảng lại thành một mảng lớn -> sử dụng vòng lặp.
    Bạn có thể nói rõ dùng lệnh nào để nối hai mảng lại thành một mảng lớn không .
    ký gì vào đây nhỉ ???

  8. #8
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Trích dẫn Nguyên bản được gửi bởi thuchanh Xem bài viết
    Bạn có thể nói rõ dùng lệnh nào để nối hai mảng lại thành một mảng lớn không .
    Bạn nên nhớ, không có câu lệnh nào nối hai mảng nhỏ thành mảng lớn, mà chính bạn coding để nối từ hai mảng nhỏ thành 1 mảng lớn.
    Bài này là cơ bản, mình đã gợi ý thêm cho bạn cách dùng con trỏ là để bạn tùy biến hơn.
    Nếu bạn mới học, một lời khuyên chân thành, bạn nên tự làm bài này, điểm nào thắc mắc trong lúc làm -> bạn gửi thắc mắc thì mọi người sẽ giúp bạn.
    *Gợi ý cho bạn:
    - Bạn sử dụng hai mảng A,B: với số phần tử của A là n, và B là m. Bạn có thể khai báo mảng A với số phần tử lớn hơn nhiều so với n (hoặc sử dụng cách con trỏ).
    - Dùng vòng for duyệt từ đầu đến cuối mảng B;
    + Gán A[n+1]=B[i]; với i là biến chạy trong vòng for;
    + n=n+1;
    - Sau vòng for thì mảng B đã nhập vào sau mảng A, bạn có thể sắp xếp mảng A được rồi.
    Những đòi hỏi khác nâng cao hơn, sẽ tính sau.
    Không biết ghi gì luôn ...

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

    Dùng vector cho đơn giản !
    C++ Code:
    1. #include <iostream>
    2. #include <vector>
    3. #include <algorithm>
    4.  
    5. int main(){
    6.   int first[] = {1, 5, 8, 9, 16, 18};
    7.   int second[] = {2, 2, 3, 3, 9, 10};
    8.   std::vector<int> ar2D;
    9.   int f, s;
    10.   for(f = 0, s = 0; f < sizeof(first)/sizeof(first[0]),
    11.                     s < sizeof(second)/sizeof(second[0]);
    12.                     ++f, ++s)
    13.   {
    14.     ar2D.push_back(first[f]);
    15.     ar2D.push_back(second[s]);
    16.   }
    17.   sort(ar2D.begin(), ar2D.end());
    18.   for(int x = 0; x < ar2D.size(); ++x){
    19.     std::cout << ar2D[x] << " ";
    20.   }
    21.   std::cout << "\n";
    22. }

  10. #10
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Ờ hớ, dùng vector của rr thì good rồi.
    Vừa ngắn gọn , code lại chuẩn.
    Tuy nhiên bạn thuchanh nên tự code, khi đó mới hiểu và tiến lên được.
    Bạn cứ hình dung thế này:
    Cho bạn là người chỉ huy. Và có hai hàng người đã xếp hành từ thấp tới cao ( kể cả hai người cao bằng nhau hoặc nhiều người cao bằng nhau thì xếp cạnh nhau rùi).
    Yêu cầu bạn nối lại thành một hàng cũng từ người thấp tới người cao để đi hành quân.
    Vậy bạn sẽ làm thế nào?
    Có phải bạn sẽ phải luôn luôn kiểm tra xem hai người đầu hàng ai cao hơn ai thấp hơn đúng không?
    Vậy ai đứng đầu thấp hơn hoặc bằng người kia thì cho ra khỏi hàng và đưa vào hàng hành quân.
    Vấn đề đặt ra là, khi người đó đi khỏi hàng thì người sau đó sẽ là người đầu tiên của hàng rồi.
    Tiếp tục như vậy cho đến khi một trong hai hàng hết.Chỉ việc gắn hàng còn lại vào hàng hành quân là xong.
    Bạn thử đánh số vị trí của từng người trong một hành.Khi bạn loại bỏ một người thì cái gì xảy ra. Có phải là vị trí của người đầu hàng tăng lên không nào?
    Đó là một ví dụ, cố gắng hình dungtưởng tưởng rồi vận dụng nhé.
    Thân!
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

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

  1. [Solved]xem hộ mình với ( sao không lặp lại nhỉ)
    Gửi bởi minhphuong90 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 09-11-2008, 06:05 PM
  2. [ Solved ]Xây dựng lớp ĐỒTHI
    Gửi bởi bluesky_123078 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: 09-11-2008, 09:34 AM
  3. [Solved] Hỏi về con trỏ
    Gửi bởi RedHatLinux9 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 17-09-2008, 08:01 AM
  4. [ Solved ]Cấp phát động
    Gửi bởi demontaihack trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 07-09-2008, 08:23 PM
  5. [ Solved ]Cần hướng dẫn về bài tập màng!!
    Gửi bởi itthuyloi 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: 03-06-2008, 03:00 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