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

سؤال سهل في سي++ وأرجو الأجابه بسرعه

مغلق
بدأه أميره في 10 مايو 2003 · 8 رد · 929 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أرجو منكم أخوتي الكرام أن تحلوا لي مشكله هالبرنامجين حيث أن البرنامج

الأول يقوم بحجز المصفوفه من 100 عنصر ويأخذ عشره أماكن ويبحث فيها

عن عنصر يساوي 66 ولكن البرنامج نتيجته طباعه العناصرويكتب delete 55 ولا يسوي أي بحث

لماذا .؟؟؟

#include

using namespace std;

main()

{

int nElem,i,searchkey;

int arr[100];

arr[0]=77;

arr[1]=99;

arr[2]=44;

arr[3]=55;

arr[4]=22;

arr[5]=88;

arr[6]=11;

arr[7]=00 ;

arr[8]=46;

arr[9]=33;

cout<<"plz enter nElem";

cin>> nElem;

for (i=0;i

{ cout<

cout<

}

searchkey =66;

for (i=0;i

{

if (arr==searchkey)

cout<<"asdf adsf";

if (i==nElem)

cout<<"can not found ";

}

searchkey=55;

cout<<"delete"<

for (i=0;i

if (arr==searchkey)

break;

for(int k=i;k

arr[k]=arr[k+1];

nElem --;

return 0;

}

البرنامج الثاني كتبه لنا الدكتور كالأتي مافهمت منه شيء ؟؟

وسألنا سؤال وهو اللي جاوب عليه ! هل يمكنني إستدعاء داله البناء لبناء

مصفوفه بأسم مختلف عن v ؟ نعم بمجرد أسم المصفوفه يتجه إليها مباشره

بأي متغير وكتب بعد

lowarry (100)

arr.setElem(0,77);

arr.setElem(1,55);

arr.setElem(2,66);

أملي كبير بالله ثم بكم أن تحلوا لي هالبرنامجين وتشرحونهم لي

بارك الله فيكم

مل‎1.txt

#2

ممكن توضحين شنو المطلوب بالبرنامج الاول خصوصاً انه نحجز مائة عنصر ونستخدم عشرة فقط

#3

السلام عليكم

لتحسين عرض البرنامج :

#include 
using namespace std;
main()
{
int nElem,i,searchkey;
int arr[100];
arr[0]=77;
arr[1]=99;
arr[2]=44;
arr[3]=55;
arr[4]=22;
arr[5]=88;
arr[6]=11;
arr[7]=00 ;
arr[8]=46;
arr[9]=33;
cout<<"plz enter nElem";
cin>> nElem;
for (i=0;i{ cout<cout<}
searchkey =66;
for (i=0;i{
if (arr==searchkey)
cout<<"asdf adsf";

if (i==nElem)
cout<<"can not found ";
}
searchkey=55;
cout<<"delete"<for (i=0;iif (arr==searchkey)
break;
for(int k=i;karr[k]=arr[k+1];

nElem --;
return 0;
}

lowarry (100)
arr.setElem(0,77);
arr.setElem(1,55);
arr.setElem(2,66);

وانتظر الرد بإذن الله منا أو من الأعضاء الكرام بارك الله فيهم

" وما توفيقى إلا بالله عليه توكلت وإليه أنيب "
-------------------------------------------------
قل : " لا حول ولا قوة إلا بالله "
-------------------------------------------------

#4

السلام عليكم

أخي الكريم الفاروق ألف شكر لك وجزاك الله كل خير .. :rolleyes:

أخي الكريم friend

الدكتور فقط حب يوضح أني ممكن أحجز عدد كبير ولاأستخدم منه إلا مجموعه

وهو حب يشرح لنا العمليات الأربع الأساسيه وهي العرض والأدخال والأخراج والبحث

ياليت لو أحد يقدر يوضح لي بدري لأن إمتحاني بكره

شـــــــاكره لكم التعاون .. :rolleyes:

#5

معليش حبيت أوضح أن عبارة asdf adsf مفروض يكتب بدالها العنصر موجود

أو يوضع break;

أرجو المساعده

#6

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

إن شاء الله يكون هذا لبمطلوب

#include 
using namespace std;
#include
int main()
{
int nElem,i,searchkey;
int arr[100];
arr[0]=77;
arr[1]=99;
arr[2]=44;
arr[3]=55;
arr[4]=22;
arr[5]=88;
arr[6]=11;
arr[7]=66 ; // العنصر لم يكن موجود اصلا انا اضفته
arr[8]=46;
arr[9]=33;
cout<<"plz enter nElem";
cin>> nElem;
// هذه الفور تطلب من الرنامج الطباعة
for (i=0;i{ 
cout<cout<}
// العنصر المطلوب البحث عنه غير موجود أصلا
searchkey = 66;
for (i=0;iif (arr == searchkey)
{
cout<<"exsist element: 66";
break; // لو لم تضعي هذا الشرط فسيكمل اللوب الى ان يساوي عدد العناصر2
} //  هذا المكان المفروض للقوس
if (i==nElem)
cout<<"can not found ";
// } هذا القوس كان موجود في مكان خطا مكانه في الاعلى
// السطر التالي يطلب البحث عن العدد 55 داخل المصفوفة
searchkey=55;
// لا يوجد داعي لهذا السطر التالي اقصد
//cout<<"delete"</* 
لاتمام عملبة الحذف يجب في البداية 
1- البحث عن العنصر
2- اذا وجدناه نقوم بحذفه
*/
for (i=0;iif (arr==searchkey)
{
// هنا اذا وجد العنصر سيقوم بحفظ قيمة المتغير 
// i
cout<< endl << "55 has been deleted! ";
break; // يقوم هذا السطر بالخروج من الفور حتى لو لم تنته اللوب
// سيحذف القيمة عن طريق ارجاع القيمة السابقة ومساواتها ب
// k
}
for(int k=i;k{
// مساواة العنصر المطلوب بالذي يليه
arr[k]=arr[k+1];
// تنقيص عدد العناصر
nElem --;
}
// انتظار الشاشة
getch();
return 0;
}

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

#7

السلام عليكم

أخي الكريم Smart Dev

أشكــــــــــــــــــــرك جـــــــــزيل الشكــــــــــر وكل عبارات الثناء

برنامج 100% وشرح مختصر ممتاز

الله يوفقك

#8
#include 
#include 
using namespace std;
class lowarry
{
private:
	vector  mat;
public:
	lowarry (int sup)
	{ mat.resize (sup);
	}
	setelm (int ind,double value)
	{
		mat[ind]=value;
	}
	getelem (int ind)
	{
		return mat[ind];
	}
};
void main()
{
	int ncount=0;
	int m;
	lowarry mat (100);
	for (m=0;m		cout<}

أرجو معرفة ما إذا كان هذا البرنامج صحيحا أم لا .؟؟؟ مالخطأ فيه

#9

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

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

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

#include 
#include 
using namespace std;
// لاستدعاء دالة الانتظار
#include
// بناء الكلاس
class lowarry
{
private:
    vector  mat;
public:
    lowarry (int sup)
    { 	
		mat.resize (sup);
    }
	// الدالة التالية تقوم بوضع العنصر داخل الفيكتور
	// لذلك نستخدم فويد أي لا ترجع أي قيمة
    void setelm (int ind,double value)
    {
        mat[ind]=value;
    }
	// الدالة التالية تقوم باستخراج العناصر من الفيكتور 
	// العنصر الذي سيرجع من النوع دبل 
    double getelem (int ind)
    {
        return mat[ind];
    }
};

void main()
{
    int ncount=5;
    int m;
    // انشاء اوبجيكت من النوع 
	// lowarry
	// عن طريق الكونستركتور الذي بنينهاه
	lowarry mat (100);
	// اضافة العناصر للؤبجيكت السابق انشائه
	mat.setelm(0, 10.0);
	mat.setelm(1, 20.0);
	mat.setelm(2, 30.0);
	mat.setelm(3, 40.0);
	mat.setelm(4, 50.0);

	// اذا كان المطلوب ادخال قيم من المستخدم فيكون الكود
	/* ==============================================
	   double tmp;
	   for(int i=0; i<5; i++) {
	      cout << "nPlz enter dbl values nmbr:" << i << endl;
	      cin >> tmp;
		  mat.setelm(i, tmp);
		  }
	================================================*/

	cout << endl << endl
		<< "Vctr Values R:" << endl;
	// انشاء لووب لاستخراج القيم التي سترجع من اللووب
    for (m=0; m        // الدالة التالية كانت مكتوبة باسم اخر غير المعرفة في الكلاس
        cout << mat.getelem(m) << endl;

	cout<< "nn  Press any key 2 exit . . . ";
	// انتظار الشاشة
	getch();
}

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

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