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

سؤالين عاجلين

مغلق
بدأه طالب برمجة في 21 أكتوبر 2003 · 14 رد · 1,183 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لو سمحتو عندي سؤالين

الاول هو: كيف اخلى المستخدم يدخل اي كلمه مثلا:طالب

وتتحول الى كل حرف في سطر :

ط

ا

ل

ب

اتمنى انكم فهمتو السؤال

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

مثلا: يدخل : منتدىو منتدى واريد احسب كم مره طالعت كلمه منتدى

ويطلع الناتج 2

ياريت الجواب بالتفصيل الممل عشان افهم

جزاكم الله الف خير

#2

#include<stdio.h>

int main(){

char string[20];

int i;

printf("enter a string:\n");

scanf("%s",string);

for(i=0;string!='\0';i++){

printf("%c",string);

printf("\n");

}

return 0;

}

#3

السلام عليكم اخوي طالب برمجة ...

شوف هذا الكود ..... الاول حق يوم تبغي اطلع كل حرف بسطر و الثاني يوم تبغي تعرف كم مره اتكرر اللي تبغي ادور عنه .....

else if( num == 3 )

while(count<=word.length ())

{

cout << word.substr (count,1)<< endl;

count++;

}

else if ( num == 4 )

{

cout <<"Enter a string to be searched : ";

cin >> search ;

if ( word.find(search) > 2000 )

cout <<"The string " << search << " is not existing" <<endl;

else

{

while(count < word.length())

{

if ( word.substr(count,search.length())== search )

T++;

count++ ;

}

cout <<"The string " << search << " exists " << T <<" times "<< endl;

}

}

اخوك تيمون .....

#4

عزيزي طال برمجة:

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

#5

ممكن اتفهموني الكود؟

يعني فكرته كيف

#6

وينكم؟؟

ارجو ان يتفضل احدكم بشرح الكود لاني ما فهمت شي منه

ومشكورين

#7

السلام عليكم ، اخوي طالب برمجة .....

هذا الشرح لأول كود ..ز

while(count<=word.length ())

{

cout << word.substr (count,1)<< endl;

count++;

}

في البداية نفرض ان int count = 0 , لانا منستعملها في هذا الكود ... ليش؟؟؟

انا في هذا الكود ابغي اطلع كل حرف بسطر ok ...

فعلشان شذي بستعمل الwhile و بختبر فيها اذا كان count <= word.lenght()

و word هذي تابعه للstring اللي انته بدخله ...و انا في هذا الكود فرضته word و بكتب word.length() لاني ابغي اعرف كم حرف بهذا الstring(word)

فبكتب داخل الwhile

cout << substr(count,1) << endl;

و substr هذي تكتب داخلها رقمين اول رقم يكون حق الخانه اللي تبغي تبدأ منها القراءه أما الثانيه فتحط فيها كم عدد الاحرف اللي تبغي تقرها و مدام نحنا بهذا الكود نبغي انطلع كل حرف بسطر فمنكتب بالخانه الثانيه 1 لانه حرف واحد نبغي نطلعه بكل سطر ... اما في الخانه الاول فهي اللي بتغير قيمتها علشان شذي فرضنها count و حطينها داخل while loop

شوف مثلا هذا المثال البسيط :

count = 0 ;

word = "ssytdjfl" ; ( word.length() = 8 )

while(count<=word.length ())

{

cout << word.substr (count,1)<< endl;

count++;

}

شوف كيف بتطلع النواتج :

s

s

y

t

d

j

f

l

اتمنى انك فهمت ......

اخوك تيمون ....

#8

اما بالنسبه للكود الثاني و هو :

cout <<"Enter a string to be searched : ";

cin >> search ;

if ( word.find(search) > 2000 )

cout <<"The string " << search << " is not existing" <<endl;

else

{

while(count < word.length())

{

if ( word.substr(count,search.length())== search )

T++;

count++ ;

}

cout <<"The string " << search << " exists " << T <<" times "<< endl;

}

أول شي نحنا منطلب من المستخدم يحط الشي اللي يبغي اشوف كم مره اتكرر في الجمله و مثلا انا بفرضه string search و الجمله بتكون word فاول شي بسويه لازم اتأكد اذا كانت الsearch اللي حطه اليوزر موجود في الجمله word او لا .. علشان شذي بكتب

if ( word.find(search) > 2000 )

cout <<"The string " << search << " is not existing" <<endl;

word.find(search) هذي بتشوف ليه اذا كانت الsearch موجوده في word او لا .... و بتسأليني ليش كتبت أكبر من 2000 ؟؟؟؟

شوف اذا كانت search ما موجوده اصلا في word بيعطينا الكمبيوتر قيمه عوده حق word.find(search) مثلا اذا كانت ما موجوده الsearch بيعطينا الكمبيوتر قيمتها مثلا 4657287 ... فعلشان شذي مب شرط اني اكتب أكبر من 2000 عادي اكتب اي رقم كبير بس ما يكون كبير وايد و لا يكون صغير وايد لانه اذا كانت الsearch موجوده في الword بيعطينا نتايج صغيره لانه بيحدد لينا موقع الsearch في الجملة ...

اما اذا كانت search موجوده فمنكتب هذا الكود ....

{

while(count < word.length())

{

if ( word.substr(count,search.length())== search )

T++;

count++ ;

}

cout <<"The string " << search << " exists " << T <<" times "<< endl;

}

و بعد منفرض شي اسمه int count = 0 منستعملها حق موقع الحرف في word و بعد منفرض شي اسمه مثلا int T = 0)علشان انشوف كم مره اتكررت الsearch في word; ....كيف ؟؟؟

بكتب if ..

if ( word.substr(count,search.length())== search )

T++;

اول شيword.substr(count,search.length() و اعتقد اني توني شرحت لك كيف نستعمل ال substr ...

و كتبت search.lenght() علشان اعرف كم حرف تتكون منها search ..

و بس هذا كل السالفة .....

اخوك تيمون ...

#9

و اذا تبغي اتشوف الكود كامل مال هذي المسأله ....

افتح موضوع سؤال في c++ اللي طرحته it girl

اقرا مشاركتي في هذا الموضوع ...

اخوك تيمون ......

#10

والله ما عرف كيف اشكرك يا تيمون صراحه تصلح مدرس ولا دكتور بعد

الله يوفجك اخوي

#11

السلام عليكم......

أخوي تيمون عندي سؤال في الكود اللي هو هذا ..

#include<iostream>

#include<string>

using namespace std;

int main()

{

int count=0;

string word;

cout<<" Enter the word to separste it"<<endl;

cin>>word;

while(count<=word.length ())

{

cout << word.substr (count,1)<< endl;

count++;

}

return 0;

}

ليش سوينا...count,1 ؟؟؟؟؟؟؟

و بعدين بسألك سؤال بخصوص انا اذا سوينا كلمة بتتجزأ.........يمكن تعطيني كود لجملة و تتجزأ بنفس الفترة يعني..

طالبه جامعيه....بتستوي....

ط

ا

ل

ب

ة

ج

ا

م

ع

ي

ه

و مشكوووووووور مقدما..............ز

#12

السلام عليكم

شو في اختي .. اذا كان قصدك

word.substr (count,1)

فمثل ما قال تيمون من قبل .. نحن نكتب count عشان نحدد موقع الحرف

لما count يساوي صفر الحرف الاول و لما يساوي 1 الحرف الثاني .. اما( 1)

فنقصد عدد الاحرف الي نباها ..

#13

السلام عليكم اختي طالبة .......

بالنسبه لسؤالش ليش حطيت word.substr (count,1) ...

شكلش ما قريتي شرحي لطالب برمجة ...... بس ما عليه برد اعيده علشان خاطرش ....

مثلا يا طالبة ... عندنا ...

word = "ghfgdsjsks" ;

و انا ابغي اطلع كل حرف بسطر فلازم شو اسوي ؟؟؟؟؟؟

طبعا استعمل substr ...

و تعرفين كيف نستعمل الsubstr ليها رقمين الرقم الاول يحدد موقع الحرف اللي ابغي ابدأ منه ... اما الرقم الثاني فهو يحدد عدد الاحرف اللي ابغي اخذها .....

مثلا يا طالبة عدنا word.substr(7,2)

بيطلع الناتج لينا sk

شوفي ليش لو بديتي اتعدين كل حرف موجود في جملة word بالترتيب بحيث تبدأين من الصفر بتوصلين عند الحرف 7 و هو s .... عقب تبدأين تحسبين من s حرفين و هم sk ...

فالكود اللي بطلع كل حرف بجمله لازم يكون مثل شي ......

في البداية نفرض ان int count = 0 , لانا منستعملها في هذا الكود ... ليش؟؟؟

انا في هذا الكود ابغي اطلع كل حرف بسطر ok ...

فعلشان شذي بستعمل الwhile و بختبر فيها اذا كان count <= word.lenght()

و word هذي تابعه للstring اللي انته بدخله ...و انا في هذا الكود فرضته word و بكتب word.length() لاني ابغي اعرف كم حرف بهذا الstring(word)

فبكتب داخل الwhile

cout << substr(count,1) << endl;

و substr هذي تكتب داخلها رقمين اول رقم يكون حق الخانه اللي تبغي تبدأ منها القراءه أما الثانيه فتحط فيها كم عدد الاحرف اللي تبغي تقرها و مدام نحنا بهذا الكود نبغي انطلع كل حرف بسطر فمنكتب بالخانه الثانيه 1 لانه حرف واحد نبغي نطلعه بكل سطر ... اما في الخانه الاول فهي اللي بتغير قيمتها علشان شذي فرضنها count و حطينها داخل while loop

شوف مثلا هذا المثال البسيط :

count = 0 ;

word = "ssytdjfl" ; ( word.length() = 8 )

while(count<=word.length ())

{

cout << word.substr (count,1)<< endl;

count++;

}

شوف كيف بتطلع النواتج :

s

s

y

t

d

j

f

l

اخوك تيمون

#14

أقول تيمون اذا كانت جملة كيف بنوزعها

اتوقع نفرض while(char!='\n')

صح و لا لا

#15

السلام عليكم اختي it girl

شوفي it girl اذا كانت جمله عاديه ... تستعملين ليها الطريقه الاولانيه ..

اما اذا كانت الجملة من جزأين ... نستعمل هذا الكود .....

#include<iostream>

#include<string>

using namespace std;

int main()

{

int count=0;

string word;

cout << "Enter your sentence : "<< endl ;

getline(cin,word);

while(count<=word.length ())

{

cout << word.substr (count,1)<< endl;

count++;

}

return 0;

}

اخوكم تيمون ....

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

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