في ج البرمجة ، غالبا ما يكون من الضروري معرفة الحرف الأخير في سلسلة. يمكن أن يكون هذا مفيدا ، على سبيل المثال ، عند معالجة البيانات النصية أو عند تنفيذ الخوارزميات. هناك عدة طرق للحصول على الحرف الأخير في سلسلة ج.
واحدة من أبسط الطرق هي استخدام وظيفة سترلين () لتحديد طول سلسلة ، ومن ثم الوصول إلى العنصر الأخير باستخدام عامل التشغيل [] :
شار شارع [] ="سلسلة سبيل المثال";
إنت لين = سترلين (شارع);
شار لاستشار = شارع [لين-1];
هناك طريقة أخرى وهي استخدام حلقة للتكرار عبر جميع أحرف السلسلة حتى النهاية وحفظ الحرف الأخير:
يمكنك أيضا استخدام وظيفة سترتشر () ، الذي يعود مؤشر إلى أول حدوث حرف معين في سلسلة. إذا لم يتم العثور على المؤشر ، فستنتهي السلسلة بالحرف '\ 0 ' ويمكن الحصول على الحرف الأخير باستخدام عامل التشغيل [] :
شار شارع [] ="سلسلة سبيل المثال";
شار * لاست تشارتر = سترتشر (ستر ، '\ 0');
شار لاستشار = * (لاست تشارتر-1);
يعتمد اختيار الطريقة على المهمة المحددة والتفضيلات الشخصية للمبرمج. الشيء الرئيسي هو اختيار الطريقة الأكثر فعالية وقابلة للقراءة التي تلبي متطلبات البرنامج على أفضل وجه.
- الطرق الرئيسية لمعرفة الحرف الأخير في سلسلة ج
- الطريقة باستخدام وظيفة سترلين
- الطريقة باستخدام المؤشرات
- طريقة باستخدام حلقة
- مقارنة فعالية الطرق المختلفة
- سؤال وجواب
- كيف يمكنني معرفة الحرف الأخير في سلسلة?
- هل هناك طريقة أسهل لمعرفة الحرف الأخير في سلسلة في ج?
- هل من الممكن معرفة الحرف الأخير في سلسلة دون استخدام سترلين () وظيفة?
الطرق الرئيسية لمعرفة الحرف الأخير في سلسلة ج
عند العمل مع لغة البرمجة ج ، غالبا ما يكون من الضروري معرفة الحرف الأخير في سلسلة. في هذه المقالة ، سننظر في بعض الطرق الأساسية لإنجاز هذه المهمة.
1. باستخدام وظيفة سترلين والوصول إلى الفهرس
واحدة من أسهل الطرق للحصول على الحرف الأخير في سلسلة هو استخدام وظيفة سترلين لتحديد طول السلسلة ، ومن ثم الرجوع إلى الحرف من قبل مؤشر طول ناقص واحد:
# تشمل
# تشمل
كثافة العمليات الرئيسية () {
شار شارع [] = "مرحبا العالم!";
إنت لين = سترلين (شارع);
شار لاستشار = شارع [لين-1];
برينتف ("الحرف الأخير: ٪ ج
"،لاستشار);
العودة 0;
}
2. استخدام حلقة للتكرار من خلال الأحرف
هناك طريقة أخرى للحصول على الحرف الأخير في سلسلة وهي استخدام حلقة للتكرار عبر الأحرف إلى نهاية السلسلة. عندما تصل الحلقة إلى نهاية السطر ، سيتم كتابة الحرف الأخير إلى المتغير:
# تشمل
كثافة العمليات الرئيسية () {
شار شارع [] = "مرحبا العالم!";
شار لاستشار;
إلى عن على (الباحث الأول = 0; شارع[أنا] != '\0 ' ؛ أنا i) {
لاستشار = شارع [أنا];
}
برينتف ("الحرف الأخير: ٪ ج
"،لاستشار);
العودة 0;
}
3. باستخدام وظيفة سترتشر
تبحث دالة سترتشر عن أول ظهور للحرف المحدد في سلسلة. إذا تم العثور على الرمز ، يتم إرجاع مؤشر إليه. يمكنك استخدام هذه الوظيفة للبحث عن الحرف الأخير في سلسلة من خلال مواصلة البحث بعد العثور على الحرف:
# تشمل
# تشمل
كثافة العمليات الرئيسية () {
شار شارع [] = "مرحبا العالم!";
شار * لاستشار = سترشر (شارع ، '\ 0') - 1;
برينتف ("الحرف الأخير: ٪ ج
"،*لاستشار);
العودة 0;
}
هذه ليست سوى أمثلة قليلة من الطرق لمعرفة الحرف الأخير في سلسلة باستخدام لغة البرمجة ج. اعتمادا على المهمة والمتطلبات المحددة ، يمكنك اختيار النهج الأنسب.
الطريقة باستخدام وظيفة سترلين
وظيفة سترلين من مكتبة سترينغ من اللغة ج يسمح لك لتحديد طول سلسلة. للحصول على الحرف الأخير من سلسلة باستخدام هذه الوظيفة ، اتبع الخطوات التالية:
- قم بتوصيل مكتبة السلسلة باستخدام # تضمين التوجيه.
- أعلن متغير من نوع شار لتخزين سلسلة.
- استخدام وظيفة سترلين لتحديد طول السلسلة وحفظ النتيجة إلى متغير.
- يتم الوصول إلى الحرف الأخير عبر فهرس الطول_سلسلة -1.
مثال على الكود:
"'ج
# تشمل
كثافة العمليات الرئيسية () {
شار شارع [] ="سلسلة سبيل المثال";
كثافة العمليات طول = سترلين (شارع);
إذا (الطول > 0) {
شار لاستشار = شارع [الطول-1];
// استخدم الحرف الأخير (لاستشار) حسب تقديرك
}
العودة 0;
}
"`
. إذا كانت السلسلة فارغة (الطول 0) ، فلن يتم تنفيذ الوصول إلى الحرف الأخير.
الطريقة باستخدام المؤشرات
يمكنك استخدام المؤشرات لتحديد الحرف الأخير في سلسلة بلغة البرمجة سي. إليك كيفية القيام بذلك:
- إنشاء مؤشر إلى الحرف الذي سوف يشير إلى نهاية السطر.
- تعيين هذا المؤشر قيمة عنوان الحرف الأخير في السلسلة.
- إلغاء الرجوع إلى المؤشر للحصول على الحرف الأخير من السلسلة.
هنا مثال على التعليمات البرمجية:
# تشمل
# تشمل
كثافة العمليات الرئيسية () {
شارع شار [100];
برينتف ("أدخل السلسلة:");
فجيتس (ستر ، سيزوف (ستر) ، ستدين);
// إنشاء مؤشر وتعيين قيمة عنوان الحرف الأخير
شار * لاستشار = & شارع [سترلين (شارع) - 1];
// إلغاء الإشارة إلى المؤشر للحصول على الحرف الأخير
برينتف ("الحرف الأخير من السلسلة: ٪ ج
"،*لاستشار);
العودة 0;
}
في هذا المثال ، نقوم بإنشاء مؤشر 'لاستشار' الذي يشير إلى نهاية السلسلة 'ستر'. ثم نقوم بإلغاء الإشارة إلى المؤشر للحصول على الحرف الذي يشير إليه وعرضه على الشاشة.
وهكذا ، فإن الطريقة باستخدام مؤشرات يسمح لك لمعرفة الحرف الأخير في سلسلة في لغة البرمجة ج.
طريقة باستخدام حلقة
لمعرفة الحرف الأخير في سلسلة باستخدام حلقة ، يمكنك استخدام الخوارزمية التالية:
- إعلان متغير من نوع ' شار ' لتخزين الحرف الأخير;
- ابدأ حلقة تمر عبر السطر بأكمله بدءا من الحرف الأول;
- في كل تكرار للحلقة ، قم بتحديث قيمة المتغير الذي يخزن الحرف الأخير إلى قيمة الحرف الحالي للسلسلة;
- في نهاية الحلقة ، بعد خروجها ، سيحتوي المتغير على الحرف الأخير من السلسلة.
نموذج التعليمات البرمجية:
# تشمل
# تشمل
كثافة العمليات الرئيسية () {
شار شارع [] = "مرحبا العالم!";
شار لاستشار;
كثافة العمليات طول = سترلين (شارع);
ل (إنت أنا = 0 ؛ أنا < طول ؛ أنا i) {
لاستشار = شارع [أنا];
}
برينتف ("الحرف الأخير: ٪ ج
"،لاستشار);
العودة 0;
}
في هذا المثال ، سيحتوي متغير لاست شار على الحرف الأخير من السلسلة " مرحبا بالعالم!"،وهو ما يساوي "د".
مقارنة فعالية الطرق المختلفة
من أجل معرفة الحرف الأخير في سلسلة في لغة البرمجة ج ، يمكنك استخدام عدة طرق مختلفة. دعونا ننظر في فعالية كل واحد منهم.
باستخدام الوظائف القياسية
.
- إرجاع طول السلسلة.
- إرجاع مؤشر إلى آخر تكرار لحرف في سلسلة.
يتيح لنا الجمع بين هاتين الوظيفتين معرفة الحرف الأخير من السلسلة. ومع ذلك ، فإن هذا الحل ليس الأمثل من حيث الأداء ، لأنه يتطلب المرور عبر الخط بأكمله مرتين.
| شارع العودة [أنا-1]; | |
|---|---|
| } | |
| تتطلب هذه الطريقة تمريرة سطر واحد فقط ، لذا فإن كفاءتها أعلى من الطريقة السابقة. | مقارنة الكفاءة |
الطريق
يمر الخط
باستخدام الوظائف القياسية
2
تمر عبر الخط في ترتيب عكسي
1
لذلك ، يمر سلسلة في ترتيب عكسي هو الطريقة الأكثر فعالية لتحديد الحرف الأخير في سلسلة في لغة البرمجة ج.
سؤال وجواب