الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

السلاسل النصيه(الخيوط الرمزيه) بلغه ++c

مغلق
بدأه الساحر 89 في 21 يوليو 2010 · 7 رد · 2,071 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اكتب برنامج يحسب عدد مرات ظهور الكلمه(السلسله القصيره) في الجمله (السلسله الطويله) ؟؟؟؟؟؟

مثل the cat sat on the mat كلمه the ظهرت مرتين في السلسه السابقه

#2

السلام عليكم

اولا: مرحبا بك معنا فى القسم.

ثانيا يرجى قراءة قوانين المشاركه فى المنتدى بشكل عام و قوانين المشاركه فى القسم بشكل خاص و تستطيع ان تصل إليهم من خلال التنبيه الموجود بالأعلى.

ثالثا: موضوعك مخالف و ذلك لأنك تطلب حل سؤال و لم تضع محاولتك لذا سأضطر اسفا اغلاق الموضوع إن لم تقم بتعديل سؤالك لتضع به محاولتك او ان تضيف مشاركه تحتوى على محاولتك.

و الله ولي التوفيق

تم تعديل هذه المشاركة بواسطة محمد علاء الدين في 21 يوليو 2010 في 23:53

مدونتي: C++ Tips and Tricks

#3

انا اسف جدا على عدم وضع المحاوله ولكن كانت محاولتي بسيطه جدا و فكره المحاوله هي تقسيم السلسله الى عده اقسام ومقارنه اول كلمه مع البقيه اذا كانت متشابهه هنالك عداد يحسب عدد الكلمات المتشابهه

بس حاولت ما وصلت الى نتيجه مع مترجم ++c ,واليكم محاولتي البسيطه

#include<iostream.h>
#include<string.h>
void main()
{int mini,l;
char s[80]="the cat sat on the mat";
 char*p;
 cout<<"["<<s<<"]"<<endl;
 p=strtok(s," ");
  mini=strlen(p);
 while(p!=NULL)
 {  l=strlen(s);
  if(l<mini)
  mini=l;
  cout<<"["<<p<<"]"<<endl;
  p=strtok(NULL," ");}
  cout<<l<<":"<<mini<<endl;}

الرجاء التفاعل معي في حل السؤال لان محتاجه ضروري ولكم مني كل الشكر

#4

تفضل أخي الكريم :

يحسب لك عدد مرات تكرار الكلمة الأولى ( حسب ما فهمت منك ) إذا أردت البحث عن كلمة معينة قم بإسنادها إلى w بنفسك .

#include<iostream>
#include<string>

using namespace std;

int main()
{
	char s[80] = "the cat sat on the mat";
	char* p;
	char* w;

	cout << "[ " << s << " ]" << endl;

	w = p = strtok(s," ");

	int counter = 0;

	while(p != NULL)
	{
		if(strcmp(p,w) == 0)
			counter++;

		p = strtok(NULL, " ");
	}

	cout << "\nThe word \"" << w << "\" has repeated " << counter;

	cout << (counter > 1 ? " times.\n\n" : " time.\n\n");

	return 0;
}

تم تعديل هذه المشاركة بواسطة namespace في 22 يوليو 2010 في 05:43

البرمجة = الرياضيات

#5

السلام عليكم: شكرا اخي namespace على التفاعل معي في حل السؤال لكن السؤال هنا يحسب عدد الكلمات المكرره فنحن لا نعلم ما عدد الكلمات المكرره وماهي الكلمه التي تكررت عند ادخال اي نص نريد حساب كلماته المكرره معين مثل النص

the first cat sat on the mat and second cat also sat on the mat هنا تكررت كلمه the ثلاث مرات وكلمه cat مرتين وكلمه sat مرتين وكلمه on مرتين وكلمه mat مرتين ايضا وهكذا كل الشكر والتقدير والاحترام لك اخي namespace

#6

هل تقصد أن المطلوب حساب كل كلمة في النص كم مرة تكررت وليس فقط الكلمة الأولى ؟ أعطيك الحل إذا كان هذا هو قصدك . . .

تفضل :

#include<iostream>
#include<string>

using namespace std;

int main()
{
	char s[80] = "the first cat sat on the mat and second cat also sat on the mat";
	char* words[20]; // up to 20 different words
	char* p;	

	int counters[20] = {0}; // how many times each word has repeated

	cout << "[ " << s << " ]" << endl; // printing the statement

	words[0] = p = strtok(s," ");

	int counter = 1; // how many different words do we have

	while(p != NULL)
	{
		// search for the current word, brerak when found
		for(int i=0; i<counter; i++)
			if(strcmp(p,words) == 0)
				break;

		words = p;
		counters++;

		if(i == counter) // word was not found, we have a new word
			counter++;

		p = strtok(NULL, " ");
	}

	for(int k=0; k<counter; k++)
		if(counters[k] > 1)
		cout << "\nThe word \"" << words[k] << "\" has repeated "
		     << counters[k] << " times.\n\n";

	return 0;
}

الناتج :

the first cat sat on the mat and second cat also sat on the mat

The word "the" has repeated 3 times.

The word "cat" has repeated 2 times.

The word "sat" has repeated 2 times.

The word "on" has repeated 2 times.

The word "mat" has repeated 2 times.

Press any key to continue

تم تعديل هذه المشاركة بواسطة namespace في 22 يوليو 2010 في 17:40

البرمجة = الرياضيات

#7

يا اخي لا اعرف ان اعبر لك وللمنتدى عن شكري وتقديري في مساعدي في حل هذا السؤال كل الشكر لك اخي namespace اتمني ان اقدم لك خدمه في المستقبل القريب شكرا

#8
الساحر 89 كتب:

يا اخي لا اعرف ان اعبر لك وللمنتدى عن شكري وتقديري في مساعدي في حل هذا السؤال كل الشكر لك اخي namespace اتمني ان اقدم لك خدمه في المستقبل القريب شكرا

لا شكر على واجب أخي

الله في عون العبد ما دام العبد في عون أخيه

البرمجة = الرياضيات

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…