المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : ..أكواد في لغة السي بلس بلس..



طالبة علم
10-09-2004, 09:47 PM
السلام عليكم ورحمة الله وبركاته..

هذا الموضوع تعديل على الموضوع السابق ..أكواد في لغة السي بلس بلس..

لأني وضعت خطة جديدة للشرح أفضل من قبل..

وإن شاءالله تكون أحسن..

وحبيت كلنا نتشارك في وضع اكواد خاصة في لغة السي بلس بلس..
وابي همتكم معاي..علشان نرتقي في هذا الموضوع الى اعلى المستويات..ويكون مرجع لكثير من المستفيدين..والاحظ انه اغلب المنتديات ماعندها برامج للمبتدئين..علشاااااااااان كذا بنبدأ من الصفر..وننزل كل اسبوع او كل ثلاثة ايام كود ولا اثنين على حسب..وفي فترة التوقف هاذي رح تكون نقاش او اسئلة عن الكود اذا ماانفهم..وخصوصا اني انا اللي كتبتها او العضو اللي بينزل الكود رح يكون هو اللي كتبه او على الاقل فاهمه..
يعني بنبدأ ببرامج بسيطة..ونرقى الدرج حبة حبة..لحد مانوصل
لمستوى الobject-oriented والبرامج الخاصة فيه..وهذا ما يعني اني
متمكنه من اللغة..بقدر اني ودي افيد..وممكن الاعضاء اللي درسوا اللغة يفيدونا
اكثر ونطور البرامج اللي صممناها لمستوى افضل..

في البداية رح نشرح طريقة فتح ملف في لغة السي بلس بلس بالصور..

علشاان تكون أوضح للمبتدئين..واللي يبغوا يتعلموا اللغة..

يالله بسم الله..

http://hsjs.jeeran.com/1.jpg


رح تظهر لك هذه النافذه:أتبع التعليمات المذكورة.

http://hsjs.jeeran.com/2.jpg

ستظهر لك هذه النافذة:

http://hsjs.jeeran.com/3.jpg

ستظهر لك أيضاً هذه النافذه:

http://hsjs.jeeran.com/4.jpg

ثم أنقر مرة أخرى على:

http://hsjs.jeeran.com/5.jpg

ستظهر لك هذه النافذة:

http://hsjs.jeeran.com/6.jpg

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

طالبة علم
10-09-2004, 09:52 PM
وهذه صورة توضح شرح مبسط لنافذة العمل بعد إتباعك للتعليمات السابقة وفتحك لملف جديد..:

http://hsjs.jeeran.com/7.jpg

وقريباً سنبدأ بوضع الأكواد.. إن شاءالله..

أتمنى وضوح الشرح وأي سؤال أو استفسا عن شي معين..أنا موجودة..

تحياااتي وشكري للجميع..

طالبة علم
14-09-2004, 03:18 PM
مرحبااااااا بالجميع..:201:

اليوم إن شاءالله رح نبدأ بوضع الأكواد..وأي سؤال أنا في الخدمة..

البرنامج الأول:

طباعة الأعداد الزوجية من الصفر للعدد المدخل:



#include <iostream.h>
int main()
{
int i,num;
cout<<"Enter the last number : ";
cin>>num;
for (i=0;i<=num;i++)
if (i%2==0)
cout<<i<<" ";
cout<<endl;
return 0;
}

طالبة علم
14-09-2004, 03:20 PM
البرنامج الثاني:

طباعة الأعداد الفردية من الصفر للعدد المدخل:


#include <iostream.h>
int main()
{
int i,num;
cout<<"Enter the last number : ";
cin>>num;
for (i=0;i<=num;i++)
if (i%2!=0)
cout<<i<<" ";
cout<<endl;
return 0;
}

shadow hearts
14-09-2004, 08:41 PM
اهلين اختي

والله فكرتينا بالماضي

اول مره اتعاملت مع البرمجه كانت بالسي ++

معكي لنهاية الموضوع

أرق الاماني بكل جميل

shadow hearts
14-09-2004, 08:43 PM
احم احم

اختي مانتي شايفه انك دخلتي في الموضوع بدري

كان المفترض تعرفي الدكلريشن للطلبه

وجهة نظر

أرق الاماني بكل جميل

طالبة علم
14-09-2004, 09:05 PM
هلا أخوي..
وتشكر على تفاعلك..على الأقل أحد رد علي..:152:

ومن ناحية الدكليريشن لو ابشرحها بتفتح لي أبواب كثيرة..:269: وانا جهزت الاكواد كلها في الإجازة..

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

طيب اذا عندك استعداد وتقدر تشرحه أنا ارحب فيك وفي شرحك..يااخوي..:181:

الف الف شكر لك..وتسلم والله..على وجهة نظرك..واتقبلها بكل صدر رحب..:262:

تحياااتي لك..:252:

طالبة علم
14-09-2004, 09:27 PM
البرنامج الثالث:

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


#include <iostream.h>
int main()
{
float num;
cout<<"Enter the number : ";
cin>>num;
if(num>0)
cout<<num <<" is Positive Number"<<endl;
else if(num<0)
cout<<num <<" is Negative Number"<<endl;
else
cout<<num<<" is Zero"<<endl;
return 0;
}

طالبة علم
14-09-2004, 09:29 PM
البرنامج الرابع:

برنامج تقوم من خلاله بإدخال عشرة أرقام ويقوم هو بإيجاد أكبر وأصغر عدد بينهم:



#include<iostream.h>
int main()
{
float num,max=0,min=3200;
cout<<"Enter 10 numbers : ";
for(int i=0;i<10;i++)
{
cin>>num;
if(max<num)
max=num;
if(min>num)
min=num;
}
cout<<"The Maximum Numbers is : "<<max<<endl;
cout<<"The Minimum Numbers is : "<<min<<endl;
return 0;
}

طالبة علم
14-09-2004, 09:31 PM
البرنامج الخامس:

تقوم بإدخال عددين ويوجد الأكبر منهما:بطريقة أخرى:



#include<iostream.h>
int main()
{
float num1,num2,max;
cout<<"Enter num1 : ";
cin>>num1;
cout<<"Enter num2 : ";
cin>>num2;
max=(num1>=num2)?num1:num2;
cout<<"The Maximum Numbers is : "<<max<<endl;
return 0;
}

طالبة علم
14-09-2004, 09:32 PM
البرنامج السادس:

تقوم بإدخال عددين ويوجد الأصغر بينهما:


#include<iostream.h>
int main()
{
float num1,num2,min;
cout<<"Enter num1 : ";
cin>>num1;
cout<<"Enter num2 : ";
cin>>num2;
min=(num1<=num2)?num1:num2;
cout<<"The Minimum Numbers is : "<<min<<endl;
return 0;
}

طالبة علم
14-09-2004, 09:36 PM
البرنامج السابع:

برنامج يطلب من المستخدم إدخال الباسوورد ثم يقوم باختباره..


#include<iostream.h>
#include<string.h>
int main()
{
const char a[6]="admin";
char pass[6];
cout<<"Enter Your Password : ";
cin>>pass;
if(strcmp(pass,a)==0)
cout<<"Welcom to my Program.."<<endl;
else
cout<<"You are Not Allowed to Access This Program"<<endl;
return 0;
}

shadow hearts
15-09-2004, 10:02 PM
بعد اذن اختي طالبة علم

ماحبيت اطرح موضوع لها لشرح For Loops لوحدها

بصراحه خفت تشغلني عن موضوع الsql

ومن باب الاكمال لموضوع السي++

.............................. ...............

الجزاء الاول.


من اساسيات لغات البرمجة ولا يمكن الاستغناء عنها نهائيا ...
فأغلب خوارزميات البرمجة غالبا ماتخضع للتكرار ,,,,

عموما سنبدأ بتعريف بنية ال For loop في لغة السي والسي بلس بلس ...
وبالمناسبة صيغة ال For Loop في لغة السي والسي بلس بلس ,,, هي الاكثر مرونة على الاطلاق في جميع لغات البرمجة ... والجافا كذلك ...

وتاتي المرونة من الصيغة التي تعرف بالشكل التالي ,,,

مثال رقم 1 :

(++ for ( int x =0 ; x < 10 ; x

{
cout << "HELLO " // Our Out Put
; cout << endl

}

لاحظ الفواصل في جسم الحلقة الذي باللون الارجواني ... توجد ثلاثة مناطق لادخال قوانين الحلقة ...

الحلقة السابقة بسيطة جدا ,, وتعني الاتي ,,,
ركز في ها الوصف فهو مفتاح حل جميع مشاكل عدم فهم الحلقات ....


" يا كمبيوتر نفذ ما بين القوسين {} مادامت x < 10 ,, والشرط موجود في البرامتر الثاني....
وكل مرة تنفذ فيها الاوامر التي بين القوسين {} اذهب الى أول الحلقة وزد x بمقدار واحد " يحدد مقدار الزيادة اخر بارمتر في الحلقة " ,,
وبدأ أول x أول ماتبدا الحلقة بالقيمة صفر ,,, ويحدد البداية أول بارمتر في جسم الحلقة ,, "
وطبعا سيتم الخروج نهائيا من الحلقة اذا اختل الشرط الذي في الخانة الثانية من جسم الحلقة ...

أي سيتم كل مرة طباعةالعبارة " HELLO " في الشاشة وستتم هذه العملية 10 مرات ... كل واحدة في سطر جديد ...
الان أين المرونه في ذلك ?? ... لاأقصد التعقيد وانما فهم الهيكلية بشكل جيد سيساعدك جدا على الفهم المتناسق ,, سنأتي للمرونة بعد قليل

1) الان بهذه الصيغة يمكنك تنفيذ بعض الاوامر التي تريدها مرات عديدة اما بعدد معين تريده .. مثلا 10 مرات 20 مرة 100 مرة 100000 مرة ...
2) أو تنفيذ الاوامر مرات عديدة اذا تحققت بعض الشروط ....

توجد عدة حالات لعمليات التكرار بعدد معين كما في الحالة رفم " 1" أعلاه...
وسنتستعرضها الان ,,,

قي بعض الانواع عندما نريد التكرار لشيء ثابت لايعتمد على العدد المكرر كما في المثال التوضيحي في الاعلى " طباعة السلسلة HELLO لايعتمد على أي شيء لأنه ثايت" ... دائما يكفي ان تجعل الحلقة على صيغة المثال أعلاه ... وفقط تغيير البارمتر الثاني ليكون اصغر من العدد الذي تريده أن يتكرر ...

نوع اخر يعتمد على المتغير الذي في الحلقة بشكل أو باخر مثلا ... خذ عندك المثال التالي الذي نقوم فيه بطباعة القيم التي في مصفوفة معينة ,, مثلا نريد أن نطبع 15 قيمة من عناصر مصفوفة معينة وبالتررتيب من أول عنصر وحتى العنصر رقم 15 ...

نقرض لدينا مصفوفة int تسمى W حجمها الاقصى 200عنصر وقمنا بوضع بيانات في 90عنصر فيها وبالترتيب ... ونريد أن نطبع أول 15 عنصر على الشاشة ...
في هذه الحالة سنتستفيد من نفس المتغير الذي يعبر عن الشرط في الحلقة ليكون هو رقم العنصر المراد طباعته ... ولا داعي لأنشاء متغير جديد ليقوم بهذه العملية ...

مثال رقم 2 :
(++ for ( int x =0 ; x < 15 ; x

{
; [cout << W [x
; cout << endl

}
هنا سيتم طباعة 15 عنصر من المصفوفة كل واحد في سطر جديد ....
يمكن تنفيذ هذه العملية بشكل اخر غير عملي كالتالي ...

مثال رقم 3 :
; z = 0
(++ for ( int x =0 ; x < 15 ; x

{

; [cout << W [z

; cout << endl
; ++z

}
للحلقة أعلاه نفس عمل الحلقة التي قبلها ...

نفرض مثلا أننا نريد طباعة العناصر الفردية فقط من المصفوفة وحتى العنصر رقم 41.... عندها سنغير التالي ...

مثال رقم 4 :

( for ( int x =1; x < 42; x += 2

{
; [cout << W [x
; cout << endl

}

لاحظ أننا غيرنا البداية الى 1 والشرط الى اصغر من 41 ومقدار الزيادة الى 2 بدل من 1 ,,,
لاحظ دائما أن قيمة المتغير x في كل دورة للمصفوفة تكون قيمته قيمة فردية ...
ستكون الاعداد 1 , 3 , 5 ,7 ,9 ... وهكذا حتى اخر عدد 41 لأن ال 41 أصغر من ال 42 وهو الشرط الذي في البارمتر الثاني ....

قارن هذا المثال بالمثال رقم 2 وستتعرف أكثر على الفكرة ...

الان فلنطور المثال قليلا ولنفرض اننا نريد طباعة العناصر التي تقبل القسمة على 5 وحتى العنصر رقم 80 مثلا ...

ستكون الصيغة كالتالي ...

مثال رقم 5 :

( for ( int x =0; x < 81; x += 5

{
; [cout << W [x
; cout << endl

}
سيحل المثال أعلاه المشكلة لأن مقدار الزيادة يساوي 5 وأول عدد هو الصفر فدائما القيمة x تكون من مضاعفات الخمسة وتقبل القسمة على 5 ...
يمكن كتابة المثال أعلاه على نحو اخر كالتالي مع أن الطريقة السابقة أفضل من ناحية الاداء ....
مثال رقم 6 :

(++ for ( int x =0 ; x < 81; x

{
(if ( x % 5 == 0

{
; [cout << W [x
; cout << endl
}

}
هذا المثال يدخل شرط اختبار اضافي داخل الحلقة لاداعي له .. ومن الملاحظ أن الحلقة يمكن ان تكتب بأكثر من طريقة ويجب محاولة البحث عن الافضل من ناحية الاداء , وسهولة الفهم .... مثلا المثال السابق مقارنة بالمثال رقم 5 سيأخذ وقتا أطول في التنفيذ لأن الكمبيوتر سيقوم بعملية التكرار والاختبار 81 مرة .... اما في المثال رقم 5 سيقوم بالختبار 17 مرة فقط ...

لاحظ اننا لايمكننا كتابة الشرط (if ( x % 5 == 0 في جسم الحلقة في الخانة الثانية المخصصة للشرط ...
على الشكل التالي ...

مثال 7 :

for ( int x=0 ; x % 5 == 0 ;x ++ ) // Our Foor loop

{
; [cout << W [x
; cout << endl

}

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

.............................. .............................. .......

أخيرا يمكنك التلاعب بجسم الحلقة كما تشاء يعني ....

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

(++ for ( int x =0 ; ; x

{
cout << "HELLO " ;t
; cout << endl

}
سيتم هنا طباعة العبارة " HELLO " بشكل لانهائي ولن يتوقف البرنامج عن العمل ...

يمكنك ايضا الاستغناء عن أي طرف من الاطراف ... مثلا اذا كانت القيمة الابتدائية ل x معرفة مسبقا لاداعي لوضعها مرة أخرى في البارمتر الاول ...


(++ for ( ; x < 81; x

ويمكن الاستغناء عن مقدار الزيادة ووضعه داخل جسم الحلقة على الشكل التالي ...

( ; for ( int x =0 ; x < 10
{
; ++x
}
وأخيرا يمكنك الاستغناء عن كل البرمترات الثلاثة لتكون الحلقة لانهائية بشكل مباشر " لأنه لايوجد شرط " وتكون على الشكل التالي ...
for ( ; ; ) // Our infinite Loop

الامثلة كثيرة جدا في هذا المساق لكننا سنكتفي بهذه الامثلة الابتدائية التي ستشرح المطلوب باذن الله


شكرا لكي اختي على هذه المساحه



أرق الاماني بكل جميل

طالبة علم
16-09-2004, 02:13 AM
غطيت على بشرحك أخوي shadow hearts..:262:
ماشاءالله تبارك الله..:222:

الله يعطيك الف عافية ويوفقك يارب..

شكلي ابكنسل واخليك تكمل بدالي..:266:

تسلم والله على الإضافة اللي بتفيد الموضوع وتقويه..

وكثر من هذي الإضافات..:171:

الله يسهل لك موضوعك sqlوأنا متابعته..وإن شاءالله تكمله على خير وبأحسن وجهه..

واعتبر الموضوع موضوعك أي اضافات او تعليقات نستقبلها بسعادة وبصدر رحب..:262: أصلاً تحس انه أحد متابعك وفاهم الموضوع معاك..

الف الف شكر وتحية لك..

طالبة علم
16-09-2004, 02:16 AM
البرنامج الثامن:

المضروب:

#
include <iostream.h>
int main()
{
int num,fact=1;
cout<<"Enter The Number: ";
cin>>num;
for(int i=2;i<=num;i++)
fact*=i;//fact=fact*i
cout<<"Factorial = "<<fact<<endl;
return 0;
}

طالبة علم
16-09-2004, 02:18 AM
البرنامج التاسع:

المضروب باستخدام while:


#include <iostream.h>
int main()
{
int i=1,num,fact=1;
cout<<"Enter The Number: ";
cin>>num;
while(i<=num)
{
fact*=i;//fact=fact*i
i++;
}
cout<<"Factorial = "<<fact<<endl;
return 0;
}

طالبة علم
16-09-2004, 02:21 AM
البرنامج العاشر:

برنامج يطلب من المستخدم إدخال مجموعة من الأعداد تنتهي بالصفر ثم يقوم بحساب المتوسط لهذه الأعداد وإذا صادف عدد سالب فإنه يتجاهله ولايضعه في الحسبان باستخدام Continue ثم يكمل العملية:


#include<iostream.h>
int main()
{
int x,sum=0,count=0;
cout<<"Enter the numbers : "<<endl;
for (;;)
{
cin>>x;
count+=1;
if (x<0)
{
count-=1;
continue;
}
else
sum=sum+x;
if(x==0)
{
count-=1;
break;
}
}
cout<<"The Avarege = "<<sum/count<<endl;
return 0;
}

طالبة علم
17-09-2004, 10:23 PM
البرنامج الحادي عشر:

برنامج يحسب المساحة والحجم لبعض الأشكال الهندسية..



#include<iostream.h>
void Square();
void Rectangle ();
void Triangle ();
void Circle ();
int main()
{
int choice;
do
{
cout<<"\t \t ---------- Main Menu ---------- "<<endl<<endl;
cout<<"\t1-The Square Area && Square Volume."<<endl;
cout<<"\t2-The Rectangle Area && Rectangle Volume."<<endl;
cout<<"\t3-The Triangle Area."<<endl;
cout<<"\t4-The Circle Area && Circumfrence."<<endl;
cout<<"\t5-Quit."<<endl<<endl;
cout<<"\t\t ****************************** *"<<endl<<endl;
cout<<"Enter your choice: ";
cin>>choice;
switch (choice)
{
case 1:
Square();
break;
case 2:
Rectangle ();
break;
case 3:
Triangle ();
break;
case 4:
Circle ();
break;
case 5:
cout<<"Thank you."<<endl;
break;
default:
cout<<"Try again."<<endl;
}
}
while (choice !=5);
return 0;
}
//****************************** ****************
void Square()
{
float S_length,S_area,S_volume;
cout<<"Enter the Square length: ";
cin>>S_length;
S_area = S_length * S_length;
S_volume = S_length * S_length * S_length;
cout<<"The Square Area = "<<S_area<<endl;
cout<<"The Square Volume = "<<S_volume<<endl;
}
//****************************** ****************
void Rectangle ()
{
float R_length,R_width,R_height,R_ar ea,R_volume;
cout<<"Enter the Rectangle length: ";
cin>>R_length;
cout<<"Enter the Rectangle width: ";
cin>>R_width;
cout<<"Enter the Rectangle height: ";
cin>>R_height;
R_area = R_length * R_width;
R_volume = R_length * R_width * R_height;
cout<<"The Square Area = "<<R_area<<endl;
cout<<"The Square Volume = "<<R_volume<<endl;
}
//****************************** ****************
void Triangle ()
{
double T_base,T_height,T_area;
cout<<"Enter the Triangle base: ";
cin>>T_base;
cout<<"Enter the Triangle height: ";
cin>>T_height;
T_area = 0.5 * T_base * T_height;
cout<<"The Triangle Area = "<<T_area<<endl;
}
//****************************** ****************
void Circle ()
{
double C_radius,C_area,Circumfrence;
const double T = 3.14;
cout<<"Enter the Circle radius:";
cin>>C_radius;
C_area= T * C_radius * C_radius;
Circumfrence= 2 * T * C_radius;
cout<<"The Square Area = "<<C_area<<endl;
cout<<"The Circumfrence = "<<Circumfrence<<endl;
}
//****************************** ****************

طالبة علم
19-09-2004, 04:45 PM
البرنامج الثاني عشر:

برنامج يقوم بحساب مساحة المستطيل عن طريق استدعاء بروسيجر آخر يقوم بالحساب..


#include<iostream.h>
float cal(float length,float width);
void main()
{
float length,width,area;
cout<<"Enter the rectangle length:";
cin>>length;
cout<<"Enter the rectangle width:";
cin>>width;
area=cal(length,width);
cout<<"Rectangle Area = "<<area<<endl;
}
float cal(float length,float width)
{
float w;
w = length * width;
return w;
}

طالبة علم
19-09-2004, 04:50 PM
البرنامج الثالث عشر:

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


#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout<<"Enter your name: ";
cin>>name;
cout<<"Hello "<<name<<endl;
return 0;
}

طالبة علم
24-09-2004, 08:55 AM
البرنامج الرابع عشر:

المصفوفه..array



//array
#include<iostream>
using namespace std;
///////////////////////////////////
int main()
{
int arr[100];
int nElems=0;
int j;
int searchkey;
//------------------------------
arr[0]=33;
arr[1]=55;
arr[2]=11;
arr[3]=23;
arr[4]=66;
arr[5]=99;
arr[6]=77;
arr[7]=00;
arr[8]=25;
arr[9]=22;
nElems=10;
//-------------------------------
for (j=0;j<nElems;j++)
cout<<arr[j]<<" ";
cout<<endl;
//--------------------------------
searchkey=66;
for (j=0;j<nElems;j++)
if (arr[j]==searchkey)
break;
if (j==nElems)
cout<<"Can't find "<<searchkey<<endl;
else
cout<<"Found "<<searchkey<<endl;
//---------------------------------
searchkey=55;
cout<<"Deleting "<<searchkey<<endl;
for (j=0;j<nElems;j++)
if (arr[j]==searchkey)
break;
for (int k=j;k<nElems;k++)
arr[k]=arr[k+1];
nElems--;
//--------------------------------------
for (j=0;j<nElems;j++)
cout<<arr[j]<<" ";
cout<<endl;
return 0;
}



أشجع نفسي..:181:

shadow hearts
29-09-2004, 04:06 AM
السلام عليكم

مشاء الله جهدك واضح

بس عندي طلب لو مافيها تعب

ممكن تضيفي الـ "output"...

بس الموضوع ولا احسن ..

ارق الاماني بكل جميل

طالبة علم
29-09-2004, 10:26 PM
هلا أخوي..

أول شي أشكرك لأنك متابع الموضوع معاي..:252: ..توي أحس انه فيه أحد متابع الموضوع معاي..

وثاني شي أبحاول إن شاءالله انزل لك Output..لانه من الحين وورى رح يصير ال Output طويل شوي..لكن اذا قدرت إن شاءالله ماراح أقصر..:262:

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

حدد لي رقم البرنامج وانا جاهزة...

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

واذا عندك أي ملاحظات ثانيه أتقبلها منك بكل صدر رحب..

تحياااتي لك..

طالبة علم
30-09-2004, 07:59 AM
البرنامج الخامس عشر:

المصفوفة بإستخدم الكلاس:




#include<iostream>
#include<vector>
using namespace std;
//////////////////////////////////////////////////////
class Array
{
private:
vector<double>v;
int nElems;
public:
//------------------------------------------------
Array() :nElems(0)
{ }
//------------------------------------------------
Array(int max):nElems(0)
{
v.resize(max);
}
//------------------------------------------------
bool find(double searchkey)
{
int j;
for(j=0;j<nElems;j++)
if(v[j]==searchkey)
break;
if(j==nElems)
return false;
else
return true;
}
//------------------------------------------------
void insert(double value)
{
v[nElems]=value;
nElems++;
}
//------------------------------------------------
bool remove(double value)
{
int j;
for(j=0;j<nElems;j++)
if (value == v[j])
break;
if(j==nElems)
{
cout<<"Can't find "<<value<<endl;
return false;
}
else
{
for(int k=j;k<nElems;k++)
v[k]=v[k+1];
nElems--;
cout<<"Deleting "<<value<<endl;
return true;
}
}
//------------------------------------------------
void display()
{
for(int j=0;j<nElems;j++)
cout<<v[j]<< " ";
if (nElems == 0)
cout<<"No elements"<<endl;
cout<<endl;
}
//------------------------------------------------
};//end class Array
/////////////////////////////////////////////////////////////
int main()
{
int maxSize=100;
int choice,element,searchkey,delet key;
Array arr(maxSize);
do
{
cout<<"\t1-Adding a new element."<<endl;
cout<<"\t2-Search for an element."<<endl;
cout<<"\t3-Delete any element."<<endl;
cout<<"\t4-Display the elements."<<endl;
cout<<"\t5-Ending the program."<<endl<<endl;
cout<<"Enter your choice:";
cin>>choice;
cout<<endl;
switch (choice)
{
case 1:
cout<<"Enter the element:";
cin>>element;
arr.insert(element);
cout<<endl;
break;
case 2:
cout<<"Enter the searchkey:";
cin>>searchkey;
if(arr.find(searchkey))
cout<<"Found "<<searchkey<<endl;
else
cout<<"Can't find "<<searchkey<<endl;
cout<<endl;
break;
case 3:
cout<<"Enter the deletkey:";
cin>>deletkey;
arr.remove(deletkey);
cout<<endl;
break;
case 4:
arr.display();
cout<<endl;
break;
case 5:
cout<<"Thank you"<<endl<<endl;
break;
default:
cout<<"Try again"<<endl<<endl;
break;
}
}
while (choice != 5);
return 0;
}




مثلا هذا البرنامج أخوي shadow hearts صعب أني أجيب لك ال output لأنه طويل..

لكن فيه حل..أنت ممكن تعطيني ال input و ال output في البرامج اللي تشك فيها..وأنا رح أدخلها عندي ونقارن النتائج في النهاية..ماأدري وش رايك؟؟

تحياااتي لكم جميعاً..

shadow hearts
30-09-2004, 08:34 AM
اول شكرا على ردك السريع

وبعدين انا الحمد لله خلصت لغت السي بلس بلس من سنه ..

والسي شارب بقيلها كام اسبوع وانتهي منه ...

لان اجرب راندوم يعني ما افتكر رقم البرنامج الي فيه المشكله

وان شاء الله لو حصلت اي مشكله برسلك input و output البرنامج الي انا شاكك فيه

موضوعك متعوب عليه

معاكي للنهايه..

أرق الاماني بكل جميل

طالبة علم
30-09-2004, 06:09 PM
العفو أخوي..

ومبروووووك على أنك خلصت السي بلس بلس :159: :181:

وعقبال السي شارب..وإن شاءالله بتفوق..

أوكي..مثل ماتفضلت أي برنامج تلقى فيه مشكلة أعطني ال input و ال output

وأنا ادخلها عندي ونقارن ال output

وهالكلام برضوه لباقي الأعضاء..

الف ألف شكر لك على ردك ومرورك ومتابعتك..:252:

تحيااتي لك..

طالبة علم
07-10-2004, 09:58 AM
البرنامج السادس عشر:

stack



#include <iostream>
#include <vector>
using namespace std;
//<<<<<<<<<<<<<<<<<<<
class Stack
{
private:
int maxSize;
vector<double> stackV;
int top;

public:
Stack(int s) : maxSize(s), top(-1)
{
stackV.resize(maxSize);
}
//------------------------
void push (double j)
{
stackV[++top]=j;
}
//----------------------------
double pop()
{
return stackV[top--];
}
///-------------------
double peek()
{
return stackV[top];
}
///-------------------
bool isEmpty()
{
return(top==-1);
}
//---------------------------
bool isFull()
{
return (top==maxSize-1);
}
};
//----------------------------
int main()
{
int choice;
char x;
Stack theStack(100);
while (choice != 4)
{
cout<<"\t\t1-Add a new number.\n";
cout<<"\t\t2-Remove a number.\n";
cout<<"\t\t3-Display all the numbers in stak.\n";
cout<<"\t\t4-Quit.\n\n";
cout<<"\tEnter your choice:";
cin>>choice;
switch(choice)
{
case 1:
double num;
while (! theStack.isFull() )
{
cout<<"Enter the number: ";
cin >>num;
theStack.push(num);
cout<<"Are you finish??(Y,N): ";
cin>>x;
if ((x=='Y') ||(x=='y'))
break;
if (theStack.isFull())
cout<<"The stak is Full !! "<<endl;
}
break;
case 2:
double removnum;
removnum=theStack.pop();
cout<<"Remov "<<removnum<<endl;
if (theStack.isEmpty())
cout<<"The stak is Empty !! "<<endl;
break;
case 3:
if (theStack.isEmpty())
cout<<"The stak is Empty !! "<<endl;
else
cout<<theStack.peek()<<endl;
break;
case 4:
cout<<"Thank you "<<endl;
break;
default:
cout<<"Try again!!"<<endl;
break;
}
}
return 0;
}

طالبة علم
11-10-2004, 09:26 PM
البرنامج السابع عشر:

queue


#include <iostream.h>
#include <vector>
using namespace std;
///////////////////////
class Queue
{
private:
int maxSize;
vector<int> queVect;
int j;
int front;
int rear;
int nItems;
public:

Queue(int s) :maxSize(s), front(0),rear(-1),nItems(0)
{ queVect.resize(maxSize); }
//--------------------------------------------------------
void Insert(int j)
{
if (rear==maxSize-1)
rear=-1;
queVect[++rear]=j;
nItems++;
}
//-------------------------------------------------
int remove()
{
int temp=queVect[front++];
if (front==maxSize)
front=0;
nItems--;
return temp;
}
//--------------------------------------------
int peekFront()
{return queVect[front];}
//---------------------------------------------
bool isEmpty()
{return (nItems==0);}
//-------------------------------------------
bool isFull()
{return (nItems==maxSize);}
//------------------------------------------
int size()
{return nItems;}
};
//------------------------------------------------
int main()
{
Queue theQueue(100);
double value;
int choice;
int element;
int num;
int a;
do
{
cout<<"\n\t Tha MAIN MENU \n";
cout<<"\t1-Insert the element\n";
cout<<"\t2-display the first element\n";
cout<<"\t3-display number of elements\n";
cout<<"\t4-remove the element\n";
cout<<"\t5-Quit\n";
cout<<"Enter your choice:";
cin>>choice;
switch(choice)
{
case 1:
cout<<"Enter the element:";
cin>>value;
theQueue.Insert(value);
break;

case 2:
element=theQueue.peekFront();
cout<<"the first element: "<<element<<endl;
break;

case 3:
num=theQueue.size();
cout<<"numbers of elements: "<<num<<endl;
break;

case 4:
if(theQueue.isEmpty())
break;
a=theQueue.remove();
cout<<a<<" "<<endl;
break;
case 5:
cout<<"Thank you.\n";
break;
default:
cout<<"Try again!!";
}
}
while (choice!=5);
return 0;
}

طالبة علم
21-10-2004, 03:37 PM
البرنامج الثامن عشر..

bubbleSort



#include <iostream.h>
#include<vector>
using namespace std;
//----------------------------------
class ArrayBub
{
private:
vector<double>v;
int nElems;
//----------------------------------
void swap(int one,int two)
{
double temp=v[one];
v[one]=v[two];
v[two]=temp;
}
//----------------------------------
public:
//----------------------------------
ArrayBub(int max):nElems(0)
{
v.resize(max);
}
//----------------------------------
void insert()
{
double value;
for(;;)
{
cout<<"Enter the number ,when you finished press zero :";
cin>>value;
if (value ==0)
break;
v[nElems]=value;
nElems++;
}
}
//----------------------------------
void display()
{
for (int j=0;j<nElems;j++)
cout<<v[j]<<" ";
cout<<endl;
}
//---------------------------------
void bubbleSort()
{
int out,in;
for(out=nElems-1;out>1;out--)
for(in=0;in<out;in++)
if(v[in]>v[in+1])
swap(in,in+1);
}
//---------------------------------
};
////////////////////////////////////
int main()
{
int maxSize=100;
ArrayBub arr(maxSize);
arr.insert();
arr.display();
arr.bubbleSort();
arr.display();
return 0;
}

طالبة علم
29-10-2004, 02:35 AM
البرنامج التاسع عشر:

Linked Lists



#include<iostream>
using namespace std;
//------------------------
class Link
{
public:
int iData;
double dData;
Link* pNext;
//----------------------------------------
Link(int id,double dd) : iData(id),dData(dd),pNext(NULL )
{ }
//--------------------------------------------
void displayLink()
{
cout<<"{"<<iData<<"}";
}
};
//---------------------------------------------
class LinkList
{
private:
Link* pFirst;
public:
//---------------------------------------------
LinkList() :pFirst(NULL)
{ }
//----------------------------------------------
~LinkList()
{
Link* pCurrent=pFirst;
while(pCurrent!= NULL)
{
Link* pOldCur=pCurrent;
pCurrent=pCurrent->pNext;
delete pOldCur;
}
}
//--------------------------------------------
void insertFirst(int id,double dd)
{
Link* pNewLink= new Link(id,dd);
pNewLink->pNext=pFirst;
pFirst=pNewLink;
}
//-------------------------------------------
Link* find(int key)
{
Link* pCurrent=pFirst;
while(pCurrent->iData!= key)
{
if(pCurrent->pNext==NULL)
return NULL;
else
pCurrent=pCurrent->pNext;
}
return pCurrent;
}
//-------------------------------------------
bool remove(int key)
{
Link* pCurrent=pFirst;
Link* pPrevious=pFirst;
while(pCurrent->iData!= key)
{
if(pCurrent->pNext==NULL)
return false;
else
{
pPrevious=pCurrent;
pCurrent=pCurrent->pNext;
}
}
if(pCurrent==pFirst)
pFirst=pFirst->pNext;
else
pPrevious->pNext=pCurrent->pNext;
delete pCurrent;
return true;
}
//-------------------------------------
void displayList()
{
cout<<"List(first - - > last ):";
Link* pCurrent=pFirst;
while(pCurrent!=NULL)
{
pCurrent->displayLink();
pCurrent=pCurrent->pNext;
}
cout<<endl;
}
};
//------------------------------------------------
int main()
{
LinkList theList;
int choice;
double value;
do
{
cout<<"\n\t Tha Main Menu \n";
cout<<"\t1-Insert student\n";
cout<<"\t2-Remove student\n";
cout<<"\t3-Search about student\n";
cout<<"\t4-display students\n";
cout<<"\t5-Quit\n";
cout<<"Enter your choice:";
cin>>choice;
switch(choice)
{
case 1:
cout<<"Enter the ID of student: ";
cin>>value;
theList.insertFirst(value,0);
break;
case 2:
cout<<"Enter the ID of student: ";
cin>>value;
if(theList.remove(value))
cout<<"Removed link with key "<<value<<endl;
else
cout<<"Can't remove student"<<endl;
break;
case 3:
cout<<"Enter the ID of student: ";
cin>>value;
if(theList.find(value)!=NULL)
cout<<"Found link with key "<<theList.find(value)->iData<<endl;
else
cout<<"Can't find student "<<endl;
break;
case 4:
theList.displayList();
break;
case 5:
cout<<"Thank you.\n";
break;
default:
cout<<"Try again!!";
}
}
while (choice != 5);
return 0;
}

adan's-commando
11-01-2005, 03:41 PM
أختي طالبة علم ممكن طلب؟:164:

برنامج يقوم بتحويل أي عدد من الثنائي الى العشري باستخدام for
وبرنامج اخر يقوم بتحويل أي عدد من العشري الى الثنائي
باستخدام for

adan's-commando
12-01-2005, 04:30 PM
please please:148:
أريد برنامج يحول أي عدد من الثنائي الى العشري بأستخدام for
وبرنامج أخر يحول من العشري الى الثنائي باستخدام for
:265:
أنا جديد في هذا المنتدى فأرجو ان لا تخيبوا ظني

adan's-commando
12-01-2005, 08:39 PM
برنامج لحساب المشتق والتابع الأصلي لأي دالة (تابع) صحيحة
#include<iostream.h>
#include<conio.h>
struct t{int i;
char z;
int j;
};
main()
{
int x;
char c,d,w;
t a[20];
start:
clrscr();
cout<<"أدخل عدد الحدود"<<"\n";
cin>>x;
cout<<"أدخل الدالة بالشكل التالي"<<"\n";
cout<<"ax^b+cx^d+......."<<"\n";
cout<<"أعداد حقيقيّة"<<"a,b,c,d...."<<"\n";
cout<<" :مثلا"<<"\n";
cout<<"4x^5+2x^3"<<"\n";
for(int k=0;k<x-1;k++)
cin>>a[k].i>>a[k].z>>d>>a[k].j>>c;
cin>>a[x-1].i>>a[x-1].z>>d>>a[x-1].j;
cout<<"\n";
cout<<"المشتق هو"<<"\n";
for(k=0;k<x-1;k++)
if(a[k].j!=0)
cout<<a[k].i*a[k].j<<a[k].z<<d<<a[k].j-1<<c;
else
cout<<0;
if(a[x-1].j!=0)
{cout<<a[x-1].i*a[x-1].j<<a[x-1].z<<d<<a[x-1].j-1;
cout<<"\n";}
else
cout<<0;
cout<<"\n";
cout<<"التابع الأصلي هو"<<"\n";
for(k=0;k<x-1;k++)
cout<<a[k].i<<"/"<<(a[k].j+1)<<a[k].z<<d<<a[k].j+1<<c;
cout<<a[x-1].i<<"/"<<(a[x-1].j+1)<<a[x-1].z<<a[x-1].j+1;
cout<<"=";
for(k=0;k<x-1;k++)
cout<<(float)a[k].i/(a[k].j+1)<<a[k].z<<d<<a[k].j+1<<c;
cout<<(float)a[x-1].i/(a[x-1].j+1)<<a[x-1].z<<d<<a[x-1].j+1;
cout<<"\n";
cout<<"هل تريد المتابعة"<<"y(yes) n(n0)"<<"\n";
cin>>w;
if(w=='y')
goto start;
else
return 0;
}

adan's-commando
16-01-2005, 02:03 PM
أنا يبدو لي انه محد معطيني أنا وطلباتي أي أعتبار:261:

يبدو أن الوحيدين المعنيين بهذا الموضوع هما
طالبة علم & shadow hearts
أذن لافائده من دخولي هذا المنتدى:155:
ولكن سأنتقم ها ها ها ا ها:227:

اتصل بنا نصل
22-01-2005, 02:59 PM
شكراً على الموضوووووووع

wala2
28-02-2005, 12:53 AM
موضوع متعوب عليه ..وجهد رااااائع جدا
كنت أتمنى اني اشوف خطة عن تسلسل البرامج
ان شاءالله اقدر اساعدكم:)

maalsamaa
30-04-2005, 07:30 AM
...شيء رائع مشكور ولو أنه صعب عايي كثير...

الشجاع
30-04-2005, 09:24 AM
adan's-commando
هذا الطلب ممكن تكلم الاخ محمد المحيا وهو ان شاء الله بيجيب لك الي تبي
تحياتي

رحاب
30-04-2005, 07:57 PM
#include<iostream.h>
int main()
{
int num1,num2,num3,larger,smaller, middle;
cout<<"enter any three number:\n";
cin>>num1>>num2>>num3;
cout<<"the three number are:"<<num1<<"\t"<<num2<<"\t"<<num3<<"\n";
///////////////////////////////////////////////
if(num1>num3)
{
larger=num1;
}
else
{
larger=num3;
}
if(num2>larger)
{
larger=num2;
}
cout<<"the larger num is:"<<larger<<endl;
////////////////////////////////////////////////
if(num2<num1)
{
smaller=num2;
}
else
{
smaller=num1;
}
if(num3<smaller)
{
smaller=num3;
}
cout<<"the smaller num is:"<<smaller<<endl;
/////////////////////////////////////////////////////
if(num1<num3)
{
middle=num3;
}
else
{
middle=num1;
}
if(num2<middle)
{
middle=num2;
}
cout<<"the middle num is:"<<middle<<endl;
return 0;
}

ربي يسدد خطاكِ ويحفظك ياغالية
طالبة علم جعل الله لكِ من إسمك نصيب
والله إني أستفدت من الموضوع كثيير فوق ماتتخيلي وخاصة اني بعاني من شوية ضعف خاصة في موضوع الأستدعاء :130:
وبرضه أشكر اخوي شادو على شرحه الرائع
وياليت انكم تستكملوا وبكون معاكم
الكود اللي حطيته فوق كان لبرنامج يشوف الاكبر والاصغر والاوسط لثلاث ارقام
طلبه الدكتور كواجب والحمدالله نفذته له وحبيت عرضه هنا
بارك الله في مجهودكم وأنا راح أكون طالبة علم عندكم:129:

إشراقة أمل
07-05-2005, 07:38 PM
طالبة علم..
الله ييسرلك أمرك ويجزاك كل خير:SMIL:



رحوبة.. لقيت هذا البرنامج.. أحسه ساعدني .. ان شاء الله تستفيدي منه:SMIL:



#include <iostream>
using namespace std;

void main()

{
int Boys = 3, Girls = 5;
void PassByValue(int males, int females);
void Reference(int &m, int &f);
void Pointers(int *u, int *v);
cout << "At startup, within main()";
cout << "\n\tBoys = " << Boys;
cout << "\n\tGirls = " << Girls;
cout << "\nPassing arguments by value = Copy";
PassByValue(Boys, Girls);
cout << "\nAfter calling PassByValue(), within main()"; cout << "\n\tBoys = " << Boys;

cout << "\n\tGirls = " << Girls;

cout << "\nPassing arguments by reference";
Reference(Boys, Girls);
cout << "\nAfter calling Reference(), within main()"; cout << "\n\tBoys = " << Boys;
cout << "\n\tGirls = " << Girls;


cout << "\nPassing arguments pointers";
Pointers(&Boys, &Girls);
cout << "\nAfter calling Pointers(), within main()"; cout << "\n\tBoys = " << Boys;
cout << "\n\tGirls = " << Girls; cout << "\n";}


void PassByValue(int b, int g)
{ b += 3, g += 4;
cout << "\nWithin PassByValue(), now";
cout << "\n\tBoys = " << b;
cout << "\n\tGirls = " << g;
}

void Reference(int &b, int &g)
{ b = b + 8, g = g + 5;
cout << "\nWithin Reference(), now";
cout << "\n\tBoys = " << b;
cout << "\n\tGirls = " << g;
}

void Pointers(int *b, int *g)
{
*b = 44, *g = 52;
cout << "\nWithin Pointers(), now";
cout << "\n\tBoys = " << *b;
cout << "\n\tGirls = " << *g;
}



والأوت بت للبرنامج هو:


At startup, within main()

Boys = 3 Girls = 5



Passing arguments by value = CopyWithin PassByValue(), now

Boys = 6 Girls = 9



After calling PassByValue(), within main()

Boys = 3 Girls = 5



Passing arguments by referenceWithin Reference(), now

Boys = 11 Girls = 10



After calling Reference(), within main()

Boys = 11 Girls = 10



Passing arguments pointersWithin Pointers(), now

Boys = 44 Girls = 52



After calling Pointers(), within main()

Boys = 44 Girls = 52
دمتم على خير وطاعة

أسيرة إحساسي
17-06-2005, 05:29 AM
صباحكم ورد...





شكرا للجميع اضافات جميله

والشكر الاكبر لـ طالبة علم ,تدرين ذكرتيني بشئ احبه

الـ c++ بجد احب هالبرمجه امكن لانها اول شئ تعلمته:)





*

*

دمت بـ خير...

MoStWaNtEd
17-06-2005, 10:16 PM
همم..

بس حبيت اضيف انه السي ++ لغة مهمة جدا

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

اذا كان كلامي خطأ فما تدرسه الجامعه هو خطأ في خطأ

على العموم يسلمو على الموضوع الشيق والجميل

واذا قدرت ان شاء الله اضفت بعض اكواد سي++


PEACE

MoStWaNtEd
23-12-2005, 12:12 AM
http://www.geocities.com/devils_mean/Code.txt

أخيرا بعد فترة طويلة...
قلت لكم راح اجيب لكم كود وهذا هو
كاتبه صديقي في السكن :)

يالله فسروا لي اش راح يصير في البرنامج خطوة خطوة :drr05_56:

Robatic
31-12-2005, 03:05 AM
السلام عليكم كيف الحال انشاء الله بخير

والله بصراحه فكره الموضوع مره حلوه وانشاء الله نساعد بعض بس قبل كل شيء لازم نعرف مستوى الاغلبيه في البرمجه بلغه سي ++ عشان نحاول نختصر الوقت باكبر قدر ممكن وانا هنا عندي بعض المواضيع الهامه عشان نفهم البرمجه الموجهه للكائنات وياليت تردوا علي اذا كان في مشكله عشان نبداء الشرح منه
المواضيع هي :
1) pointers
2) functions and ow to call it by value or by reference
2) recursion functions
4) arrays
وانشاء الله نستفيد من خبرة بعض وفي حالت انه هذي المواضيع غير مفهومه راح نبداء من الصفر وشكرا لكم

Robatic
31-12-2005, 03:34 AM
هذا البرنامج لعيونك يا adna's-commando
بس البرنامج يا ينفع الا لعشرة ارقام ثنائيه