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

أريد أفكار لحل هذه المشكلة

مغلق
بدأه السهم الناري في 12 يوليو 2003 · 11 رد · 1,402 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أما بعد :

أريد عمل دالة تحذف كلمة من جملة ... وكذلك دالة تعمل على حذف كلمة ومن ثم استبدالها بكلمة أخرى ...

ماهي أقتراحتكم لحل المشكلة البسيطة هذه ..

ياليت أفكار وتجارب وليس الكود على طول لأني أحاول أعملها وأحل المشكلة الى الأن....

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#2

بنسبه لحذف كلمه من جمله

أمسك أول حرف من الكلمه اللي تريد حذفها بعدين أبحث عنها في الجمله

إذا لقيت الحرف في الجمله أمسك الحرف الثاني من الكلمه وقارنه بالحرف اللي بعده (في الجمله )ّ

أعد الطريقه إلى أن تنتهي الحروف في الكلمه

أذا أنتهت الحروف في الكلمه وكان الحرف اللي بعده (في الجمله)ّ

هو فراغ سو إزاحه في الجمله

#3

نعم أفكاري متوافقه معك ....

فأنا كنت أريد أن أعمل أولا جعل بين كل كلمه وأخرى فراغ واحد باستخدام داله لذلك ومن ثم اختبر الكلمه المطلوبه وأعمل على ازاحتها " أزالتها "...

ولكن السؤال بالنسبة لفكرتك هل أضع فراغ بدل الكلمه أم ماذا حتى أعمل على حذفها؟؟؟؟؟

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#4

بسم الله الرحمن الرحيم

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

كما أن هناك مشكلة بسيطة شوفوها لي وهي عندما نحذف الحرف تطبع الكلمه كما هي مع المسافة التي وضعتها لكي تحذف الحرف، فماهو الحل بطباعة الكلمه منسقة بدون أن تكون هنالك فراغات داخل الكلمه الواحدة..

إليكم البرنامج و أرجوا أن أجد حل عنكم وباليت كما قلت أفكار وليس حلول مباشرة.

#include

#include

char *Replace( char string[80])

{

char ch1,ch2;

char *ptr=&string[0];

cout <<"nEnter Char : ";

cin >> ch1;

while( *ptr!='

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#5

الخطأ هو في الشرط ضع سلاش زيرو slah zero ثم الشرط الثاني صحيح ضع فراغ بالنسبة لدالة delet ونفس الكلام على دالة OneSpeac ينطبق.....

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#6
اقتباس
كاتب الرسالة الأصلية : السهم الناري

الخطأ هو في الشرط  ضع سلاش زيرو slah zero ثم  الشرط الثاني صحيح  ضع فراغ بالنسبة لدالة delet ونفس الكلام على دالة OneSpeac ينطبق.....

أستخدم الكود بواسطة الرمز #

بدل من ال php

#7

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

لو كان الرمز

a

هو عنوان اول حرف من الكلمه في الجمله

وطول الكلمة هو

n

راح تكون الأزاحه كالتالي

do

{

string[a]=string[a+n];

}while (string[a++]!='

#8

السلام عليكم ورحمة الله وبركاته

لماذا تقرا حرف حرف ، الافضل استخدام خاصيه الموجودة في سي++ وهي يمكنك مقارنه كلمة بكلمة باستخدام

# include

بحيث تقوم بخزين على مصفوفه

string word[100];

وتقف من القراءة في حالة endl

ويمكنك ترك مسافات بين الكلمات

اختكم

لغة سي

#9
#include "stdafx.h"
#include 
#include
#include 

char seps[]= " ";
char* deleteWord(char* m_text,const char* m_word)
	{

		if(m_text==0||strlen(m_text)==0)
			return 0;
		char *temp=new char[strlen(m_text)];
		char *token;
	    bool firstWord=false;
		token = strtok(m_text,seps);

   while( token != NULL )
   {
      printf( " %sn", token );
	  if(strcmp(m_word,token)!=0)
	  {
         if(!firstWord)
		 {
			 strcpy(temp,token);
			 firstWord=true;
		 }
		 else
		 {

		  strcat(temp," ");
		  strcat(temp,token);
		 }
	  }
      token = strtok( NULL,seps );
   }

return temp;
	}

int main(int argc, char* argv[])
{
	char m_text[]="I am  Khaled Al-Khwlani, I live in Germany. I am an engneering in the Siemens company, I studid in Ilmenau";
	cout<<"n"<	char* 	myWord="in";	
	char* temp=deleteWord(m_text,myWord);
	cout<<"n"<
    return 0;
}
اللهم انا نسألك علما نافعا ونعوذ بك من حماقة الجهلاء
#10

أولا شكرالكم وثانيا سأجرب البرنامج أخ khwlani وأرد عليك ......

أما بالنسبة لملاحظة الاخت لغة السي فأنا لو لاحظتي البرنامج خالي من مكتبة string.h لأني أريد العمل بدون استخدامها أي محاكتها ......وشكرا

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#11

السلام عليكم ورحمة الله وبركاته:

نتيجة لهذه الردود أحب أن أشكر الاخ khwlani على البرنامج ولكن لي بعض الملاحظات وطلب واحد وأن شاء الله يتحملني...

أولا لو نظرت الى البرنامج وجدت أن الملف الأول الذي بين علامتي تنصيص بالامتداد h " يعطيني المترجم خطأ والسبب واضح هو عدم وجوده على الكمبيوتر " وتغلبت عليه بوضعه في تعليق //.

والبرنامج شغال تمام .

ثانيا : أخي العزيز أن قلت أريد أفكار وبما أنك قد حليت البرنامج - جزاك الله خير - أريد منك طلب وهو أن تشرح دالة الأزاحه أو البرنامج كله حتى تعم الفائده لأنني لأحب أخذ الشيء الجاهز بدون فهم ..

ثالثا : أذا سمحت هل ترسل البرنامج كامل مع الملف على بريدي الالكتروني اذا مافيها كلافه عليك وتعب " ياليت لأني ودي استفيد منها ".

وجزاك الله خير ......أسف على وقتك الثمين الذي ضيعته لقرأتي مقالتي هذه...

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#12

الحذف في اي لغه برمجه هو و ضع فراغ مكان الشىء المراد حذفه و لهذا فائده هو انك سوف تحجز مكان للكلمه المراد استبدالها

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

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