Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Về bài tập hiển thị hàm trong C

  1. #1
    Ngày gia nhập
    05 2019
    Bài viết
    0

    Mặc định Về bài tập hiển thị hàm trong C

    Em có bài tập như vầy : nhập và hiển thị mảng sau đó sắp xếp mảng tăng dần và chèn phần tử vào mảng, nhưng khi làm đến bài chèn thì lúc gọi hàm nó lại lấy dữ liệu của cái bên trên ( cái sắp xếp ) vậy thì làm sao để nó chèn vào cái hàm ban đầu (hàm chưa sắp xếp)... nhờ mn chỉ giúp ạ
    void nhapmang (int* a, int &n)
    {
    printf("nhap n:");
    scanf("%i", &n);
    printf("\nnhap mang n phan tu:");
    for ( int i=0;i<n;i++)
    {
    printf("\na[%i]:", i);
    scanf("%i", &a[i]);

    }
    }
    void hienthimang( int* a, int n)
    {

    for (int i=0;i<n; i++)
    {
    printf("%3i", a[i]);
    }
    printf("\n");
    }
    void sapxeptang(int *a, int n)
    {
    int xx;
    for(int i=0;i<n;i++)

    {
    for(int j=i+1;j<n;j++)
    {
    if(a[i]>a[j])
    {
    xx=a[i];
    a[i]=a[j];
    a[j]=xx;
    }
    }
    }
    hienthimang(a,n);

    }
    void chenxk(int*a, int n, int k)
    {

    int z;
    printf("\nnhap so can chen:");
    scanf("%i", &z);
    printf("\nnhap vi tri can chen:");
    scanf("%i", &k);
    for(int i=n;i>=k;i--)
    {
    a[i]=a[i-1];

    }
    a[k]=z;
    n++;
    hienthimang(a,n);


    }
    int main()
    {
    int a[50], n,k;
    nhapmang (a,n);
    hienthimang(a,n);
    sapxeptang(a,n);
    chenxk(a,n,k);
    }

  2. #2
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    577

    Mình chưa hiểu rõ câu hỏi. Bạn có thể cho ví dụ bằng số được không. Mảng nhập vào như thế nào, kỳ vọng kết quả sắp xếp thế nào và kết quả chèn thế nào.
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

  3. #3
    Ngày gia nhập
    02 2016
    Bài viết
    305

    Trích dẫn Nguyên bản được gửi bởi phuctq2000 Xem bài viết
    ... vậy thì làm sao để nó chèn vào cái hàm ban đầu (hàm chưa sắp xếp)...
    Bộ răng hay sao mà chèn vào hàm này hàm nọ?

  4. #4
    Ngày gia nhập
    05 2019
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi Ada Xem bài viết
    Mình chưa hiểu rõ câu hỏi. Bạn có thể cho ví dụ bằng số được không. Mảng nhập vào như thế nào, kỳ vọng kết quả sắp xếp thế nào và kết quả chèn thế nào.
    đây ạ... sau khi nhập mảng xong thì em cho nó hiện mảng ra (số 1)
    sau đó thì dùng hàm sắp xếp tăng và cho hiển thị ra màn hình (số 2)
    và cuối cùng là chèn phần tử vào mảng rồi hiển thị ra (số 3)
    nhưng e lại muốn nó chèn vào cái mảng ban đầu tức là nó sẽ ra là 3 6 7 4 2 1 chứ không phải 1 2 3 6 7 như em làm
    Attached Thumbnails Attached Thumbnails gdf.png  

  5. #5
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    577

    Trích dẫn Nguyên bản được gửi bởi phuctq2000 Xem bài viết
    đây ạ... sau khi nhập mảng xong thì em cho nó hiện mảng ra (số 1)
    sau đó thì dùng hàm sắp xếp tăng và cho hiển thị ra màn hình (số 2)
    Đến đoạn này thì rõ ràng.

    Trích dẫn Nguyên bản được gửi bởi phuctq2000 Xem bài viết
    và cuối cùng là chèn phần tử vào mảng rồi hiển thị ra (số 3)
    nhưng e lại muốn nó chèn vào cái mảng ban đầu tức là nó sẽ ra là 3 6 7 4 2 1 chứ không phải 1 2 3 6 7 như em làm
    Đoạn này mình vẫn không hiểu. Yêu cầu nào nói rằng kết quả nhất thiết phải là 3 6 7 4 2 1 hơn là (chẳng hạn) 4 3 6 7 2 1, 3 6 7 2 1 4, hay 3 6 4 7 2 1?
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

  6. #6
    Ngày gia nhập
    05 2019
    Bài viết
    0

    Mặc định Về bài tập hiển thị hàm trong C

    nôm na là ví dụ em nhập mảng là 5 4 3 2 1 rồi gọi hàm sắp xếp nó thành 1 2 3 4 5 rồi lại gọi hàm để chèn số 8 vào đầu thì nó sẽ thành 8 1 2 3 4 5
    em muốn nó chèn vào cái 1 chứ k phải chèn vào cái 2 ý ạ... mà nếu h mà để cái gọi hàm của cái chèn phần tử lên trên cái sắp xếp mảng thì cái sắp xếp mảng sẽ sắp xếp cái kết quả của cái chèn phần tử chứ k phải cái kết quả mình nhập vào ban đầu

  7. #7
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    577

    Trích dẫn Nguyên bản được gửi bởi phuctq2000 Xem bài viết
    nôm na là ví dụ em nhập mảng là 5 4 3 2 1 rồi gọi hàm sắp xếp nó thành 1 2 3 4 5 rồi lại gọi hàm để chèn số 8 vào đầu thì nó sẽ thành 8 1 2 3 4 5
    Minh không hiểu sao bạn diễn giải đề bài một cách "nôm na" như thế được. Đề bài đã nói rất rõ là
    Trích dẫn Nguyên bản được gửi bởi phuctq2000
    nhập và hiển thị mảng sau đó sắp xếp mảng tăng dần và chèn phần tử vào mảng
    Nghĩa là (1) chèn vào bất cứ vị trí nào cũng được, nhưng (2) phải chèn vào mảng đã sắp xếp rồi, hơn là mảng ban đầu.
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

  8. #8
    Ngày gia nhập
    05 2019
    Bài viết
    0

    ) em xin lỗi... câu hỏi hơi hiểu nhầm tí ạ
    ý em muốn là có cách nào vừa sắp xếp và hiển thị vào mảng (1) ban đầu vừa chèn và hiển thị vào mảng (1) ban đầu không ạ

  9. #9
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    577

    Không có cách nào cả. Khi sắp xếp xong, nội dung cũ đã mất.

    Nhưng bạn có thể chèn vào một mảng khác có nội dung là bản sao của mảng ban đầu.
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

  10. #10
    Ngày gia nhập
    02 2016
    Bài viết
    305

    @Thớt:
    Nếu đề bài bảo sắp xếp mảng và chèn vảo mảng thì có thể nó mang điều kiện chèn vào đúng vị trí. Hàm chèn số vào mảng sắp xếp làm việc hơi khác với hàm chèn mảng, bởi vì nó phải tự tìm lấy đúng vị trí thứ tự để chèn.

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