Viết chương trình in ra các dãy con của dãy cho trước C++

Mọi người ơi cho mình hỏi , bài này thì làm như thế nào ạ? Mình cảm ơn ạ.
Viết chương trình in ra tất cả các dãy con của một dãy cho trước. Ví dụ dãy 1 3 4 2 có các dãy con sau:
1
1 3
1 3 4
1 3 4 2
3
3 4
3 4 2
4
4 2
2

2 vòng lặp lồng nhau và in ra.
Giống như lặp của sắp xếp.

2 Likes

Mình làm như này nhưng thầy yêu cầu dòng đầu là nhập số phần tử của dãy, và giữa các phần tử của dãy phải có khoảng cách ấy. Vậy thì làm như nào ạ?

#include<bits/stdc++.h> 
using namespace std; 
  
// Function to print all sub strings 
void subString(string s, int n)  
{ 
    // Pick starting point in outer loop 
    // and lengths of different strings for 
    // a given starting point 
    for (int i = 0; i < n; i++)  {
	
        for (int len = 1; len <= n - i; len++) {
            cout << s.substr(i, len) << endl; }}
} 
  
// Driver program to test above function 
int main()  
{ string chuoi;
    cout<<"Nhap chuoi :  "<<endl;
    getline(std::cin,chuoi);
    subString(chuoi,chuoi.length()); 
    return 0;
}

Nếu là dãy SỐ thì dùng mảng số nguyên (int).
Chắc bạn học về mảng rồi chứ.
Khoảng cách thì in thêm khoảng cách ra.

cout << " ";
2 Likes

bài này là tạo nhi phân nha b
vd
0001 0010
số nào là 1, thì ứng với vị trí ấy t lấy trên mảng
ra
2, 4, 42

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