اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

لكونه سؤال إختباري فسيتم توفير خطوات الحل فقط، اللازمة لإنشاء برنامج يطلب من المستخدم إدخال جملة ومن ثم يحسب الحرف الأكثر تكرارًا في الجملة ويطبع عدد مرات تكراره.

إليك الخطوات:

1- تعريف المتغيرات اللازمة للبرنامج، وهي:

  • مصفوفة من الحروف لتخزين الجملة المدخلة من المستخدم
  • متغير يمثل الحرف الأكثر تكرارًا في الجملة
  • متغير يمثل عدد مرات تكرار الحرف الأكثر تكرارًا في الجملة
  • متغير لتخزين عدد المرات التي يتكرر فيها الحرف الحالي في الجملة

2- الطلب من المستخدم لإدخال الجملة وتخزينها في المصفوفة المعرفة في الخطوة الأولى.

3- إنشاء حلقة for لتحليل الجملة حرفًا حرفًا.

4- داخل حلقة for، تعيين قيمة العداد للحرف الحالي إلى 1.

5- داخل حلقة for، دوران حلقة ثانية مضمنة داخلها لحساب عدد مرات تكرار الحرف الحالي في الجملة.

6-داخل حلقة for الثانية، إذا تم العثور على حرف يتطابق مع الحرف الحالي، فزيادة قيمة العداد.

7- داخل حلقة for الثانية، إذا تم العثور على حرف بتردد أعلى من الحرف الحالي، تعيين قيمة الحرف الأكثر تكرارًا إلى هذا الحرف وتحديث قيمة المتغير المعد لحساب عدد مرات تكراره.

8- طباعة الحرف الأكثر تكرارًا وعدد مرات تكراره.

  • 0
نشر

طريقة أخرى أكثر سرعة للقيام بذلك، هي أن تقوم بتعريف مصفوفة عدد عناصرها 28 بحيث يمثل كل عنصر محرف ( و يمكنك زيادة عدد العناصر في حال كنت ترغب بعد الفراغات و علامات الترقيم و الارقام و ما إلى هنالك، المهم عنصر من أجل كل محرف تريده).

و من ثم المرور على عناصر الجملة حرف حرف، و في كل مرة نقوم بزيادة قيمة المصفوفة عند هذا المحرف، يمكن ذلك عن طريق تحويل المحرف إلى العدد الذي يقابله (فكل محرف يمثل على شكل عدد في السي).

أي مثال على ذلك:

char s[] = "abcaa";

int cnt[255] = {0};

for (int i = 0 ; i < strlen(s) ; ++i)
{
  char c = s[i];
  cnt[c]++;
}

بعدها ببساطة يمكن المرور على عناصر هذه المصفوفة و أخذ الأكبر منها.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...