Windows Việt

Cộng Đồng Công Nghệ Thông Tin Việt

Trang ChínhTrang Chính  Sự kiện  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share
 
 Help Bai 465
Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Phạm Hồng Sơn
Member

Phạm Hồng Sơn
Member
Giới tính : Nam
Tuổi : 31
Posts Posts : 44
Coins Coins : 67
Thanked Thanked : 8
Help Bai 465 Empty
Bài gửiTiêu đề: Help Bai 465   Help Bai 465 EmptySat 26 Dec 2009, 04:36

Bạn nào đã làm bài 465 : Đưa các giá trị chẵn về đầu ma trận các số nguyên thì giúp mình làm với.

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Toend2008
Member

Toend2008
Member
Giới tính : Nam
Tuổi : 21
Posts Posts : 377
Coins Coins : 564
Thanked Thanked : 33
Help Bai 465 Empty
Bài gửiTiêu đề: Re: Help Bai 465   Help Bai 465 EmptySat 26 Dec 2009, 08:57

Cách này hàn lâm nè: Đổ ma trận vào mảng, sắp xếp chẳn trước ( dồn chẳn về đầu ), đổi mảng lại ma trận.
Mình nghĩ có thể dùng selectionsort để chèn giá trị chẵn về trực tiếp bằng cách hoán vị có thể được nữa. Cách này hay hơn.
Ai có cách nào hay tham khảo với nhé.


[You must be registered and logged in to see this link.]

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Phạm Hồng Sơn
Member

Phạm Hồng Sơn
Member
Giới tính : Nam
Tuổi : 31
Posts Posts : 44
Coins Coins : 67
Thanked Thanked : 8
Help Bai 465 Empty
Bài gửiTiêu đề: Re: Help Bai 465   Help Bai 465 EmptySat 26 Dec 2009, 09:09

[You must be registered and logged in to see this link.] đã viết:
Cách này hàn lâm nè: Đổ ma trận vào mảng, sắp xếp chẳn trước ( dồn chẳn về đầu ), đổi mảng lại ma trận.
Mình nghĩ có thể dùng selectionsort để chèn giá trị chẵn về trực tiếp bằng cách hoán vị có thể được nữa. Cách này hay hơn.
Ai có cách nào hay tham khảo với nhé.

Có nghĩa là mình đổ ma trận sang mãng rồi dùng Insertion Sort để dồn hả Giang?

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Toend2008
Member

Toend2008
Member
Giới tính : Nam
Tuổi : 21
Posts Posts : 377
Coins Coins : 564
Thanked Thanked : 33
Help Bai 465 Empty
Bài gửiTiêu đề: Re: Help Bai 465   Help Bai 465 EmptySat 26 Dec 2009, 09:12

Ừm ko nhất thiết phải selectionsort, vì nó là bản chất là dùng thuật toán tìm kiếm để tìm phần tử chẵn, có thể dùng heap cho nhanh hơn.


[You must be registered and logged in to see this link.]

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Phạm Hồng Sơn
Member

Phạm Hồng Sơn
Member
Giới tính : Nam
Tuổi : 31
Posts Posts : 44
Coins Coins : 67
Thanked Thanked : 8
Help Bai 465 Empty
Bài gửiTiêu đề: Re: Help Bai 465   Help Bai 465 EmptySat 26 Dec 2009, 09:21

[You must be registered and logged in to see this link.] đã viết:
Ừm ko nhất thiết phải selectionsort, vì nó là bản chất là dùng thuật toán tìm kiếm để tìm phần tử chẵn, có thể dùng heap cho nhanh hơn.

Giang co thể CODE cho sơn xem được không! Vẫn đang CODE mà không chạy

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Toend2008
Member

Toend2008
Member
Giới tính : Nam
Tuổi : 21
Posts Posts : 377
Coins Coins : 564
Thanked Thanked : 33
Help Bai 465 Empty
Bài gửiTiêu đề: Re: Help Bai 465   Help Bai 465 EmptySat 26 Dec 2009, 09:25

Ừm để code thử xem sao.


[You must be registered and logged in to see this link.]

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Phạm Hồng Sơn
Member

Phạm Hồng Sơn
Member
Giới tính : Nam
Tuổi : 31
Posts Posts : 44
Coins Coins : 67
Thanked Thanked : 8
Help Bai 465 Empty
Bài gửiTiêu đề: Re: Help Bai 465   Help Bai 465 EmptySat 26 Dec 2009, 09:33

[You must be registered and logged in to see this link.] đã viết:
Ừm để code thử xem sao.

Cám ơn Giang rất nhiều nha. Sơn làm được rồi. Mừng quá
Code:
//465. Dua cac gia tri chan ve dau ma tran cac so nguyen
void SXDD(int **&A,int n,int *&B)
{
    int k = 0;
    B = new int [n*n];
    for(int i=0;i
    {
        for(int j=0;j
        {
            B[k]=A[i][j];
            k++;
        }
    }
    int pos;
    for(i=0;i
    {
        int x = B[i];pos = i -1;
        while(pos>=0 && B[pos]%2!=0)
        {
            B[pos+1]=B[pos];
            pos--;
        }
        B[pos+1]=x;
    }
    k=0;
    for(i=0;i
    {
        for(int j=0;j
        {
            A[i][j]=B[k];
            k++;
        }
    }
    printf("\nMang sau khi don chan ve dau mang la: \n\n");
    fprintf(foutput,"\nMang sau khi don chan ve dau mang la: \n\n");
    Output(A,"output.txt",n);
}

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Toend2008
Member

Toend2008
Member
Giới tính : Nam
Tuổi : 21
Posts Posts : 377
Coins Coins : 564
Thanked Thanked : 33
Help Bai 465 Empty
Bài gửiTiêu đề: Re: Help Bai 465   Help Bai 465 EmptySat 26 Dec 2009, 10:41

Thoạt đầu mình đối mặt với bài này nghĩ tới 4 hàm for. Mình sẽ chọn và xếp ngay trên ma trận, nhưng nghĩ lại thì cần 5. Help Bai 465 336245 Nhưng chưa làm, Help Bai 465 524561 6 hàm for là hàn lâm nhất của dạng sắp xếp trên ma trận rồi, vì sắp trên mảng bao giờ cũng dễ hơn, ta có thể dùng thêm mảng phụ thay cho dùng ma trận phụ. Làm ra là mừng rồi. Twisted Evil Cho coppy coppy code về tham khảo nhé Like a Star @ heaven


[You must be registered and logged in to see this link.]

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Sponsored content


Help Bai 465 Empty

※ Bài viết cùng chuyên mục


 
Help Bai 465
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Windows Việt :: Lưu Trữ :: Lưu Trữ - Các môn học cũ :: Kỹ Thuật Lập Trình-
[Windows Việt] Deverloped by Nguyễn Gia Phú - https://windows.forumvi.com
Powered by © Forumotion.com - phpBB™ version ©phpBB2
Go to top Go to bottom