تحديات برمجيةالتحدي الثاني - حل التمرين الثالث بلغة C
المطلوب
قم بتعريف دالة إسمها DoubleChars
, نمرر لها نص عند إستدعاءها فتعيد لنا نسخة من هذا النص كل حرف فيها مكرر مرتين.
مثال: إذا قمنا باستخدام الدالة DoubleChars()
و تمرير النص "Iron Man"
فإنها سترجع النص "IIrroonn MMaann"
.
الحل بلغة C
char * doubleChars(char * text) { char * newText = (char*)malloc(sizeof(strlen(text) * 2) + 1); int nextIndex = 0; int i = 0; while ( text[i] != '\0' ) { newText[nextIndex] = text[i]; newText[nextIndex + 1] = text[i]; nextIndex += 2; i++; } newText[nextIndex] = '\0'; return newText; } void main() { char * text = "Iron Man"; char * newText = doubleChars(text); printf("Before: %s \n", text); printf("After: %s \n", newText); }
سنحصل على النتيجة التالية عند التشغيل.
Before: Iron Man After: IIrroonn MMaann