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

Đề tài: Viết hàm sắp xếp 1 dãy số nhập vào từ nhỏ đến lớn?

  1. #1
    Ngày gia nhập
    10 2011
    Bài viết
    25

    Mặc định Viết hàm sắp xếp 1 dãy số nhập vào từ nhỏ đến lớn?

    Ai biết viết hàm đó không chỉ cho mình với. (Thực hiện theo kiểu sắp xếp nổi bọt)
    VD mình viết thế này

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    float sapxeptang(float a,float b)
    {
          float tg;
          if(a>=b){
                  tg=a;
                  a=b;
                  b=tg;
                  }   
    }
    void main()
    {
         float m,n;
         printf("Nhap m=");
         scanf("%f", &m);
         printf("Nhap n=");
         scanf("%f", &n);
         sapxeptang(m,n);
         printf("Thu tu tu nho den lon la: %.2f   %.2f\n", m ,n);
      system("PAUSE");	
      return 0;
    }
    Tại sao m và n không đổi chỗ cho nhau?
    Đã được chỉnh sửa lần cuối bởi scopion93 : 17-11-2011 lúc 02:41 PM.

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    /pentest
    Bài viết
    44

    Code:
    void sapxeptang(float* a,float* b) // You need a void or float function?
    {
          float tg;
          if(*a>=*b){
                  tg=*a;
                  *a=*b;
                  *b=tg;
                  }   
    }
    and in main() function

    Code:
         sapxeptang(&m,&n);
    We are oft to blame in this...'Tis too much proved.
    - That with devotion's visage and pious action we do sugar o'er the devil himself.

  3. #3
    Ngày gia nhập
    05 2011
    Bài viết
    299

    C Code:
    1. void sapxeptang(float &a,float &b)
    2. {
    3.       float tg;
    4.       if(a>=b){
    5.               tg=a;
    6.               a=b;
    7.               b=tg;
    8.               }  
    9. }
    code bạn viết chỉ là sắp xếp cho 2 số chứ có phải sắp xếp cho dãy số đâu mà đòi nổi bọt với sủi bọt
    Đã được chỉnh sửa lần cuối bởi rossoneri : 17-11-2011 lúc 04:21 PM.
    Programming tutorials and source code examples

    Trong nhà không vợ không con
    Uống bia gặm thịt sao ngon thế này
    Nhậu nhẹt không bị la rầy
    Một tuần ta cứ bảy ngày " nâng ly "....

  4. #4
    Ngày gia nhập
    08 2011
    Bài viết
    3

    khi bạn gọi hàm phải gán địa chỉ cho biến đó thì khi in ra mới đổi chỗ dc:
    sapxeptang(&m,&n);

  5. #5
    Ngày gia nhập
    10 2010
    Bài viết
    5

    Trích dẫn Nguyên bản được gửi bởi scopion93 Xem bài viết
    Ai biết viết hàm đó không chỉ cho mình với. (Thực hiện theo kiểu sắp xếp nổi bọt)
    VD mình viết thế này

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    float sapxeptang(float a,float b)
    {
          float tg;
          if(a>=b){
                  tg=a;
                  a=b;
                  b=tg;
                  }   
    }
    void main()
    {
         float m,n;
         printf("Nhap m=");
         scanf("%f", &m);
         printf("Nhap n=");
         scanf("%f", &n);
         sapxeptang(m,n);
         printf("Thu tu tu nho den lon la: %.2f   %.2f\n", m ,n);
      system("PAUSE");	
      return 0;
    }
    Tại sao m và n không đổi chỗ cho nhau?
    ủa hàm float mà không return kết quả hả bạn, khi bạn muốn thây đổi giá trị của hai biến thì bạn phải tham biến(tham chiếu đến địa chỉ của biến) chứ không phải tham trị(tham chiếu đến giá trị của biến) có nghĩa là kieudulieu tenham(kieudulieu &tenbien1, kieudulieu &tenbien2){}, nếu sắp xếp trên mảng thì kieudulieu tenham(kieudulieu bienmang) ví dụ void SapTang(int a[10]){code} vì khi đưa một mảng vào làm đối số của một hàm thì có nghĩ là mình đang tham biến đến mảng đó!
    ---
    Your friend
    Mr. Nguyễn Thái
    _____________________

  6. #6
    Ngày gia nhập
    01 2011
    Nơi ở
    Nhà
    Bài viết
    4

    Mặc định Viết hàm sắp xếp 1 dãy số nhập vào từ nhỏ đến lớn?

    Bạn có thể dùng 2 vòng lặp for

    đầu tiên bạn phải cho nó vào 1 chuỗi đã
    Code:
    for(i==1;i==max,i++;)
    {
     for(j==1;j==max,j++)
     if (a[j]>a[j+1]) then
    {
     thay==a[j];
     a[j]==a[j+1];
     a[j+1]==thay;
    }
    }
    bạn có 1 chuỗi từ bé > lớn rùi đó

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

    Thanks nha. Chủ yếu là ở đây mình muốn tạo thành 1 hàm mới thôi. trên đấy là mình lấy vd với 2 số. còn bài toán thật mình đang cần làm là n số rồi.
    Đã được chỉnh sửa lần cuối bởi scopion93 : 17-11-2011 lúc 04:55 PM.

  8. #8
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Trích dẫn Nguyên bản được gửi bởi mrkidprois1 Xem bài viết
    Bạn có thể dùng 2 vòng lặp for

    đầu tiên bạn phải cho nó vào 1 chuỗi đã
    Code:
    for(i==1;i==max,i++;)
    {
     for(j==1;j==max,j++)
     if (a[j]>a[j+1]) then
    {
     thay==a[j];
     a[j]==a[j+1];
     a[j+1]==thay;
    }
    }
    bạn có 1 chuỗi từ bé > lớn rùi đó
    Code bạn bậy quá nha .
    == với chả then else. Ngôn ngữ C-Pascal hử ?

  9. #9
    Ngày gia nhập
    10 2011
    Bài viết
    25

    oh. @@. h mới để ý. mà nếu mình nhớ không nhầm thì gán trong pascal là ":=" mà.???

  10. #10
    Ngày gia nhập
    10 2011
    Bài viết
    25

    Mà tiện đây cho mình hỏi có cách nào để lần sau có thể sử dụng được hàm này ngay mà không phải viết lại mỗi đầu chương trình không?

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

  1. Bài tập C++ Viết phương trình nhập vào 1 chuỗi số.Hãy nhập vào 1 số.Đếm xem có bao nhiêu chữ số bạn vừa nhập
    Gửi bởi namtuocdn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 16-10-2011, 10:39 AM
  2. Bài tập C Viết 2 quá trình : 1 nhập biểu thức , 2 xử lý bt vừa nhập , dùng share memory giao tiếp 2 QT đó
    Gửi bởi tieutuhamvui 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: 05-06-2011, 11:43 PM
  3. Trả lời: 2
    Bài viết cuối: 23-02-2011, 04:03 PM
  4. Bài quản lý sinh viên viết bằng C#. Hàm nhập bị lỗi không thể nhập đúng được?
    Gửi bởi gaconnho trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 7
    Bài viết cuối: 23-12-2010, 12:37 PM
  5. Bài tập C Viết chương trình để tìm giá trị lớn nhất và nỏ nhất trong 1 mảng ( Mảng 1 chiều)
    Gửi bởi vinkt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 26-08-2010, 10:34 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