Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 23 kết quả

Đề tài: Bài tập phần mảng, sắp xếp mảng không dùng mảng phụ. Help me!

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

    Lightbulb Bài tập phần mảng, sắp xếp mảng không dùng mảng phụ. Help me!

    Mọi người xem giùm em bài này nhé!
    Nhập số n và dãy các số thực a0,a1,a2......,an.Không đổi chỗ các phần tử và không dùng thêm mảng số thực nào khác(có thể dùng thêm mảng số nguyên nếu cần)hãy cho hiển thị trên màn hình dãy trên theo thứ tự tăng dần
    p/s:hi còn bài này nữa nhé: Nhập số liệu cho dãy số thực a0,a1,a2,....,an.In ra màn hình số lần xuất hiện của các phần tử
    Thanks mọi người nha!
    Đã được chỉnh sửa lần cuối bởi nqpbvh : 03-05-2009 lúc 05:24 PM.
    where is the will,there is a way!!!Relax without pain!^^

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

    Bài này ngày xưa mình làm theo cách này:
    Tìm số nhỏ nhất trong dãy rùi in ra. Sau đó tìm số nhỏ nhất lớn hơn số vừa tìm đc... Cứ thế mà làm =))

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

    Cách đó hay đấy xiu_coi. Mình mạn phép cải tiến ý tưởng của bạn một tí:
    do
    {
    -Tìm số nhỏ nhất trong dãy rùi in ra.
    -Sau đó tìm số nhỏ nhất trong các số còn lại rồi in ra. Nếu có nhiều số cùng giá trị thì in ra số nào có chỉ số mảng thấp hơn trước.
    } while (chưa hết mảng);
    Ý tưởng nghe ngon ơ, nhưng tớ không biết code thế nào. Xin lỗi bạn nhé!
    Đã được chỉnh sửa lần cuối bởi Loveanygirls : 03-05-2009 lúc 08:52 PM.
    Tôi tin rằng: giải thuật thì có thể tìm trong hàng trăm GB ebook, hoặc Google nhưng code chạy thì chưa chắc! Hãy post code để chứng tỏ giải thuật của bạn là đúng!
    Giải thuật là bản thiết kế của ngôi nhà, code là phần xây dựng. Nếu chỉ xây nhà trên giấy thì ta sống chả khác nào người nguyên thủy.

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

    ừ,ý tưởng thì tớ cũng đã từng nghĩ như cậu,nhưng code ra sao thì tớ chưa code đc!hjc,ai bjt code post lên giùm tớ với!!thanks very much!
    where is the will,there is a way!!!Relax without pain!^^

  5. #5
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Bài đơn giản có gì đâu mà phức tạp hóa quá.

    Dùng 2 vòng lặp:
    . Vòng lặp ngoài: đánh dấu vị trí đã được sắp xếp
    . Vòng lặp trong: tìm số bé nhất rồi in ra.

    Độ phức tạp thuật toán: O(k) = k * k!
    None!

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

    Mặc định Bài tập phần mảng, sắp xếp mảng không dùng mảng phụ. Help me!

    p/s:hi còn bài này nữa nhé: Nhập số liệu cho dãy số thực a0,a1,a2,....,an.In ra màn hình số lần xuất hiện của các phần tử
    Thanks mọi người nha![/QUOTE]
    bạn tham khảo code
    PHP Code:
            int A[10] ={2,2,5,6,8,2,3,5,6,8};
        
    int B[10] = {0};
        for(
    int i 010i++)
        {
            
    int count 1;
            if(
    B[i] == 0)
            {
                
    B[i] = 1;
                for(
    int j 010j++)
                {
                    if(
    A[j] == A[i] && != i)
                    {
                        
    B[j] = 1;
                        
    count ++;
                    }
                }
                
    printf("%d xuat hien %d: lan\n"A[i], count);
            }
        } 

  7. #7
    Ngày gia nhập
    11 2008
    Nơi ở
    Hà Nội
    Bài viết
    70

    Không biết đã đúng yêu cầu chưa nhỉ ???
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4. int a[1000],n;
    5. int x=0,y=0;
    6.  
    7.  
    8. void nhap(){
    9.     //clrscr;
    10.     int i;
    11.     printf("Mang a\n");
    12.     printf("nhap so phan tu cua mang n=");
    13.     scanf("%d",&n);
    14.     printf("nhap gia tri cho cac phan tu cua mang\n");
    15.     for (i=0;i<n;i++){
    16.         printf("a[%d]= ",i);
    17.         scanf("%d",&a[i]);
    18.         }
    19. }
    20.  
    21. void xuly(){
    22.     int i,j,min,tg;
    23.     printf("day da xap xep\n");
    24.     for(i=0;i<n;i++){
    25.         min=a[i];
    26.         for(j=i+1;j<n;j++){
    27.             if(min>a[j]) {tg=min;min=a[j];a[j]=tg;}
    28.             }
    29.         printf("%d\t",min);
    30.         }
    31.     getch();
    32. }
    33.  
    34. void main(){
    35.     nhap();
    36.     xuly();
    37. }
    Dân thường sống đẹp đè bẹp dân chơi.
    Hi [you]

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

    Thế thì chưa đúng rùi bạn à,đề bài yêu cầu ko đc đổi chỗ các phần tử trong mảng mà,nếu đc đổi chỗ thì tớ đã làm đc rùi!^^
    @Xcross87: Tớ vẫn chưa code đc,c có thể post code lên cho tớ tham khảo đc ko?sr vì tớ mới học C nên ko bjt nhiều lắm!thanks
    where is the will,there is a way!!!Relax without pain!^^

  9. #9
    Ngày gia nhập
    04 2007
    Bài viết
    134

    Dùng 1 array số nguyên để đánh dấu vị trí, ban đầu array này sẽ là {0, 1, 2..., n - 1}
    Sau đó áp dụng bất cứ thuật toán sắp xếp nào, chỉ thay vì swap trên mảng số thực thì ta swap trên mảng số nguyên.

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

    @zodjac1990: Code của bạn đã sắp xếp được rùi, nhưng mà hình như đã làm thay đổi mảng gốc rùi.
    @Lugia: Nếu như vậy thì chưa tối ưu vì phải dùng một mảng phụ.

    Thế mới nói: nói thì dễ, code mới khó. Nếu làm bằng tay thì ai cũng làm được.
    Đã được chỉnh sửa lần cuối bởi Loveanygirls : 03-05-2009 lúc 10:45 PM.
    Tôi tin rằng: giải thuật thì có thể tìm trong hàng trăm GB ebook, hoặc Google nhưng code chạy thì chưa chắc! Hãy post code để chứng tỏ giải thuật của bạn là đúng!
    Giải thuật là bản thiết kế của ngôi nhà, code là phần xây dựng. Nếu chỉ xây nhà trên giấy thì ta sống chả khác nào người nguyên thủy.

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

  1. dùng phần mếm khác chạy trong phần mềm của mình
    Gửi bởi longxoay trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 27-03-2012, 09:02 PM
  2. Trả lời: 0
    Bài viết cuối: 08-09-2011, 10:14 PM
  3. Đếm số phần tử của 1 mảng dùng con trỏ
    Gửi bởi dungnt.fet 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: 25-06-2011, 11:44 AM
  4. Lập trình C lập trình phần mềm dùng C và C++ có được không?
    Gửi bởi mylove_is_vy trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 06-08-2010, 08:48 PM
  5. Mới học cơ sở dữ liệu thì dùng phần mềm nào?
    Gửi bởi kienchochethahaha trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 2
    Bài viết cuối: 24-03-2010, 05:07 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