int a[1000], n, k; char c[1000]; void In(int k) { for (int i = 1; i <= k; i++) cout << c[a[i] - 1]; cout << endl; } void TapCon(int vt, int k) { for (int i = a[vt - 1] + 1; i <= n - k + vt; i++) { a[vt] = i; if (vt == k) In(k); else TapCon(vt + 1, k); } } int main() { cout << "Nhap tap hop: "; cin >> c; n = strlen(c); strupr(c); a[0] = 0; for (int i = 1; i <= n; i++) TapCon(1, i); system("pause"); return 0; }