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

Đề tài: Làm thế nào để xóa một số trùng nhau trong một dãy số trong C++?

  1. #1
    Ngày gia nhập
    12 2009
    Bài viết
    24

    Mặc định Làm thế nào để xóa một số trùng nhau trong một dãy số trong C++?

    Làm thế nào để xóa một số trùng nhau trong một dãy số rồi xuất dãy số đó ra. Ví dụ:
    cho dãy trước:4 4 1 3 1 1 5
    làm sao cho ra dc kết quả dãy :4 1 3 5.
    Em cảm ơn trươc anh nào đã giúp đỡ em.Thanks

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

    bạn xuất phần tử đầu tiên ra, kiểm tra xem phần tử tiếp theo có bằng với các phần tử trước nó không, nếu khác thì bạn xuất còn không thì chuyển qua kiểm tra phần tử kế tiếp.

  3. #3
    Ngày gia nhập
    04 2009
    Nơi ở
    Bắc Giang-Bắc Giang
    Bài viết
    20

    code này bạn
    PHP Code:
    #include <conio.h>
    #include <iostream.h>
    int main(){
        
    int n8;
        
    cout<<"N = ";
        
    cin>>n;
        
    int *a= new int[n];
        
    int *b= new int[n];
        
    cout<<"\n Nhap mang:"<<endl;
        for(
    int i=0i<ni++){
            
    cout<<"arr["<<i+1<<"] = ";
            
    cin>>a[i];
            }
        
    int k=0ok;
        for(
    int i=0i<ni++){
                
    b[k]= a[i];
                for(
    int j=0j<kj++){
                    if(
    b[j]==b[k]){
                        
    ok0;
                        break;
                        }
                        else 
    ok=1;
                    }
                if(
    okk++;
            }
        for(
    int i=0i<ki++)
            
    cout<<"   "<<b[i];
        return 
    0;
        } 
    được 1 sao rồi. hik! Mừng quá.

  4. #4
    Ngày gia nhập
    07 2007
    Nơi ở
    TP.HCM
    Bài viết
    199

    Nếu số lượng phần tử trong mảng là lớn, thì bạn nên sắp xếp lại mảng theo tuyến tính rồi tìm sẽ nhanh hơn. Độ phức tạp là O(nlogn). còn tìm theo kiểu 2 vòng lặp thông thường là o(n*n(

  5. #5
    Ngày gia nhập
    01 2009
    Bài viết
    165

    Trích dẫn Nguyên bản được gửi bởi Ð.Khánh Xem bài viết
    Nếu số lượng phần tử trong mảng là lớn, thì bạn nên sắp xếp lại mảng theo tuyến tính rồi tìm sẽ nhanh hơn. Độ phức tạp là O(nlogn). còn tìm theo kiểu 2 vòng lặp thông thường là o(n*n(
    sắp xếp mảng độ phức tạp là O(n^2) rồi nên biện pháp sắp xếp mảng ko tốt hơn thuật toán ban đầu.

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

    Mặc định Làm thế nào để xóa một số trùng nhau trong một dãy số trong C++?

    Trích dẫn Nguyên bản được gửi bởi kimduquan Xem bài viết
    sắp xếp mảng độ phức tạp là O(n^2) rồi nên biện pháp sắp xếp mảng ko tốt hơn thuật toán ban đầu.
    Dùng các thuật toán bình thường thì độ phức tạp là O(n^2) còn các thuật toán như QickSort, HeapSort thì chỉ có O(nlogn) thôi bạn ah.

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

    Trích dẫn Nguyên bản được gửi bởi LongPhi Xem bài viết
    Dùng các thuật toán bình thường thì độ phức tạp là O(n^2) còn các thuật toán như QickSort, HeapSort thì chỉ có O(nlogn) thôi bạn ah.
    vậy bạn sắp xếp xong rồi bạn vẫn phải duyệt lần nữa để xóa vậy độ phức tạp là bao nhiêu khi công thêm lần duyệt này?
    Anh yêu em hí hí

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

    Trích dẫn Nguyên bản được gửi bởi thansautk Xem bài viết
    vậy bạn sắp xếp xong rồi bạn vẫn phải duyệt lần nữa để xóa vậy độ phức tạp là bao nhiêu khi công thêm lần duyệt này?
    Sắp xếp xong xóa có O ( nlogn + n ). Chắc là nhanh hơn đó.

  9. #9
    Ngày gia nhập
    12 2009
    Bài viết
    4

    bạn ơi giúp mình làm bài này với huu:
    xây dựng hàm tìm vị trí phần tử X trong mảng n số nguyên dùng con trỏ và viết hàm Main minh họa sử dụng hàm này có cấp phát động bộ nhớ ? Sử dụng ngôn ngữ C/C++

  10. #10
    Ngày gia nhập
    12 2009
    Bài viết
    4

    bạn gởi bài tới mail nay cho mình nghen :
    ngoisaothienmenh_nt_2007@yahoo.com

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

  1. Algorithm Làm thế nào để xuất những chuỗi không trùng lắp nhau trong .txt?
    Gửi bởi nop ret trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 14-12-2012, 03:24 PM
  2. Loại bỏ phần tử trùng nhau trong Listbox C# như thế nào?
    Gửi bởi trang_httta trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 25-09-2012, 08:52 PM
  3. Bài tập C++ Cách xóa các ký trùng nhau trong xâu (How to remove duplicate characters in string)
    Gửi bởi mr.cuong_tq trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 22-04-2012, 10:53 AM
  4. Bài tập C xóa phần tử trùng nhau trong mảng 1 chiều để lại 1 phần tử
    Gửi bởi ronoa trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 06-01-2012, 10:46 PM
  5. xóa phần tử trùng trong mảng như thế nào?
    Gửi bởi vuong92dn trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 20-12-2010, 10:30 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