جمل التكرار

سالم العنزي • منذ 6 سنوات

إذا كان عندي متغير يحتوي على نص (مجوعة حرورف string) أريد معرفة كم مرة يتكرر حرف معين في هذا النص, ما الصيغة المناسبة للحصول على النتيجة

مثال: (عااالم البرمجججة) أريد معرفة عدد مرات تكرار حرف الالف(أ) او حرف الجيم (ج) مثلاً في هذه العبارة؟؟ 

كلمات دليلية:

ساعد بالإجابة

"إن في قضاء حوائج الناس لذة لا يَعرفها إلا من جربها، فافعل الخير مهما استصغرته فإنك لا تدري أي حسنة تدخلك الجنة."

الإجابات (3)

xlmnxp • منذ 6 سنوات

بإمكانك عمل ذلك باستخدام for او foreach 

مثال بلغة الجافاسكربت


var words = "عااالم البرمجججة";
var direction = {};

for(char in words){
	// تحقق اذا كان المسار غير معرف
	if(direction[words[char]] == undefined){
		// اجعل قيمته 1
		direction[words[char]] = 1;
	// غير ذلك (اذا كان المسار معرف )
	}else{
		// قم بزيادة 1 عليه
		direction[words[char]]++;
	}
}


// لطباعة الناتج
alert("عدد مرات تكرر الحرف ج هي : " + direction["ج"]);
alert("عدد مرات تكرر الحرف ا هي : " + direction["ا"]);

 

عمار الخوالدة • منذ 6 سنوات

توجد عدة طرق للحل، يمكنك مثلا استخدام for:
 


String text = "txttt Txttt";
int counter = 0;
for (int i = 0; i < text.length(); i++){
    if (text.charAt(i) == 't' ) 
        counter++;  
}

System.out.println(counter);

 

أو الاستفادة من الدوال الخاصة بالتعامل مع النصوص في جافا:

 


String text = "txxttt Texttttt";

System.out.println(text.length() - text.replace('t', '').length());

 

* سجل التعديلات: 

إزالة استدعاء الميثود: 


public String replace(CharSequence target, CharSequence replacement)

واستخدام الميثود:


public String replace(char oldChar, char newChar)

 

لأن الأولى تستخدم regex، بالتالي تقوم بعمل compile للـ pattern عند الاستدعاء، بينما الثانية تقوم بالاستبدال بخوارزمية عادية دون استخدام regex فتكون فعالية الكود أكبر.

مراجع: 
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html
http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/share/classes/java/lang/String.java

سالم العنزي • منذ 6 سنوات

text = "عااااااالم البرررمججججة"
alpha = "ر"
myalpha = len(text)						 # لتحديد طول السلسة 
a,b,c = 0,0,0
while a < myalpha:
    if text[a] == alpha:
        b = 1 							# للتأكد من أن الحرف موجود
        c = c+1							# لحساب عدد مرات التكرار
    a = a+1
print(' الحرف ', alpha, end=" " )
if b == 1:								#إذا كان الحرف موجو يقوم بعمل التالي
    print('موجود في ', end = " ")
else:
    print('غير موجود في', end = " ")
print(" العباره :   ", text)
print(' عدد مرات التكرار هي : ', c) 		# طباعة مرات التكرار

 

بارك الله فيكم اخواني ما قصرتم والله يجزاكم خير, وحبيت اشاركم الحل بطريقة اخرى وبلغة اخرى وبأسلوب اخر ?

وبانتظار ارائكم في حال كانت لديكم اي اضافة 

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !