پاسخ داده شده: ریورس کردن کلمه ها در یک آرایه کاراکتری بدون استفاده از توابع | c++
اگر مستقیم ببرید تحویل بدید من راضی نیستم .اینو نوشتم که تمرین کنید یه چیزی خودتون یاد بگیرید.
int isLower(char value) { retu (value >= 'a' && value <= 'z');
}
void reverseStr(char* str, int start, int end) { int len = end - start; int half = len / 2; for (int i = 0; i <= half; i++) { char temp = str[start + i]; str[start+i] = str[start+len - i -1]; str[start + len-i -1] = temp; }
}
int main()
{ char str[15] = "hello Dear carmelo"; if (str == NULL) retu 0; int pos = 0; int word = 1; if (str[pos] == ' ') word = 0; int start = -1; if (word) start = 0; pos++; while (str[pos] != NULL) { int cur_word = 1; if (str[pos] == ' ') cur_word = 0; if (word != cur_word) { if (word == 1) { int is_lower = isLower(str[start]); if (is_lower) reverseStr(str, start, pos); } else start = pos; word = cur_word; } pos++; } if (word == 1) { int is_lower = isLower(str[start]); if (is_lower) reverseStr(str, start, pos); } printf("%sn", str); retu 0;
}
