ערכתי לאחרונה בתאריך 27.05.13 בשעה 21:06 בברכה, ldan192
void PrintAll(string& str, unsigned ind) { if (ind >= str.size()) { cout << str << endl; return; } PrintAll(str, ind+1); char c = str[ind], ctmp = c; if (c >= 'A' && c <= 'Z') c -= char('A' - 'a'); else if (c >= 'a' && c <= 'z') c -= char('a' - 'A'); str[ind] = c; PrintAll(str, ind+1); str[ind] = ctmp; }
|
הרצה:
string str = "mat"; PrintAll(str, 0);
|
האומנם לא בדקתי הרצה בקומפיילר,
אבל זה דיי פשוט אז לא חושב שיתכן באג רציני.
אם יש בעיה תעדכן.
* עדכון: המרת סוגריים מרובעים
בברכה,
עידן