Tạo đường chạy độ dài k, xuất ra tất cả đường chạy của mảng, mỗi đường chạy trên một dòng

Em đang học lập trình c, bài tập thầy ra có một ý như vầy
Cho mảng 𝐴 gồm 𝑛 ≤ 10^6 phần tử nguyên, các phần tử được đánh thứ tự từ 0. Viết các chương trình con
thực hiện:Một đường chạy có độ dài 𝑘(𝑘 ≥ 1) là một dãy con dài nhất thỏa 𝐴[𝑖] ≤ 𝐴[𝑖 + 1] ≤ ⋯ ≤ 𝐴[𝑖 + 𝑘 − 1].
Xuất ra tất cả đường chạy của mảng, mỗi đường chạy trên một dòng

em code như vầy:

void duongChay(int a[],long long n,long long k)
{
    long long t=k;
    xepTang(a,n);
    for(long long i=0;i<k;i++)
    {
        printf("a[%lld]:%d\t",i,a[i]);
    }
    if(k!=n)
        {
            for(long long i=k;i<k+t;i++)
            {
                printf("\n");
                printf("a[%lld]:%d\t",i,a[i]);
            }
            k+=t;
        }
}

nhưng lúc chạy không như ý muốn ạ
em nhập 5 phần tử
a[0]:1
a[1]:2
a[2]:3
a[3]:4
a[4]:5
sau đó em nhập k = 2
thì cho ra kết quả là
a[0]:1 a[1]:2
a[2]:3
a[3]:4

chỉ có dòng đầu đúng ạ :joy:

Em sai ngay từ cái lúc đọc hiểu đề bài rồi còn gì, chịu khó đọc kỹ đề đi nhé

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?