السلام عليكم ورحمة الله وبركاته
بخبرتي البسيطه في c++ استطيع تصكيم برنامج لحساب مساحة المستطيل بطريقه اسهل
بعتبارِِAالطول وBالعرض وY الناتج
السلام عليكم ورحمة الله وبركاته
بخبرتي البسيطه في c++ استطيع تصكيم برنامج لحساب مساحة المستطيل بطريقه اسهل
بعتبارِِAالطول وBالعرض وY الناتج
السلام عليكم ورحمة الله وبركاته
اخي الحبيب ..
بدأت منذ مدة بدراسة لغة ++C ..
لكن ما يحيرني بها .. أن كثيرا من المبرمجين يعيبون عليها بصعوبة برمجة الــ API .. بها ..
فما هو مستوى هذه الصعوبة علما أنني مبرمج VisualBasic6 .. ولدي فيها برامج ..
للعلم أنني أقرأ حاليا كتاب
Teach your self BorlandC++ in 24 Days
خلصت اليوم الأول .. لكن فاهم كل المعلومات اللي بيه بنسبة 90% ..
لكن أريد أن أرتاح وأعرف مدى هذه الصعوبة وياريت تسوي لي برنامج بيها:
نافذة + زر + مربع نصي
عند الضغط على الزر تخرج رسالة فيها ما مكتوب بالمربع النصي ..
وترفق لي المصدر .. ولا تنسى أنني أستخدم BorlandC++ وليس VisualC ++ ..
وبارك الله فيك
يا أخي لا أعتقد أن بإمكانك حساب حدود سلسلة فيبوناسي بهذه الطريقة للتذكير سلسلة فيبوناسي هي سلسلة من الشكل
1 ,1 ,2 ,3 ,5 ,8 , 12 ......................................
بحيث أن أي حد في السلسلة هو عبارة عن مجموع الحدين السابقين عليه فيما عدا الحدان الأولان فهما مساويان للواحد
إذا رجعنا إلى مثالك نجد أن تسعمل العلاقة التالية لحساب الحدودكود:F[x]=F[x-2]+F[x-1];لا حظ أن قيمة F[x-2] و F[x-1] لم يتم تحديدهما و أنت تتعامل معهما على أساس أنهما المتغيرة X و هذا خطأ فقيمة أي متغيرة في جدول ليست هي قيمة المتغيرة التي تحدد مكانها داخل هذا الجدول
لذا أقترح عليك حساب حدود السلسة بدلالة x و y فقط ثم قم بوضع النتيجة في الجدول .
كما أن بإمكانك أن تستغني عن إستعمال الجدول كليا لحساب هذه الحدود
هذا من جهة الخوارزم أما من جهة البرمجة فلاحظ أنك تستعمل الجدول على اعتبار أنه جدول ببعد واحد لكنك إذا رجعت إلى الوراء ستجد أنك قمت بتصريحه على أنه جدول ببعدين
هذا الكود من موسوعة Wikipédia
كود:int F(int n) {int a = 0, b = 1, c = 1; if(n == 0) return(0); else if(n == 1) return(1); else { for(int i = 1; i < n; i++) { c = a + b; a = b; b = c; } return(c); }
عملت برنامج لك ياعمر بالدلفي شغله وإذا أعجبك أعطيك الكود لتحوله إلى الBORLAND C++
شكرا جزيلا .. هذا ما أريد بالضبط ..
طيب .. والكود؟ إنت تقول بالدلفي .. أنا الدلفي ما أعرفها أبدا ..
أتنمى يا أخي لو تعمل المشروع بالسي++ بإيدك .. وحتى لو بال++VisuaC ..
لكن أن أحوله أنا فهذا شي غلط .. لأن محولات الأكواد تضخم الكود دائما ..
وأصلا ما أعرف أحوله!
وشكرا
#include <iostream.h>
int main()
{
float a;
float b;
float r;
cout << "Please enter the a and b: ";
cin >>a >>b;
r=a*b;
cout <<r;
return 0;
}ارا ان هذا البرنامج اسهل
السلام عليكم ورحمة الله وبركاته :
احم عذرا للتطفل <<< اشعر اني متطفلة كوني الأنثى الوحيدة هنا !
عموما :
أنا مشروع مهندسة كمبيوتر و أدرس السي كمادة تخصص في الفترة الأخيرة اشكل علي فهم ARRAYS فممكن شرح ولو بسيط عنها
لكن لا تحيلوني الى كتب لأن كتابي الدراسي يكفي ويزيد بالتعقيد !
تحيتي وشكرا سلفا
أخ عمر انتظرني حتى يوم الجمعة وما قصدته بتحويل الكود أي كتابته بلغة الفيجوال الشبيهة بلغة الديلفي
إلى الاخت رابعة يشرفنا وجودك معنا ونعتذر منك على الاخطاء اللغوية
المصفوفة:
هي عبارة عن عدة عناصر من نفس النمط ومرتبة في مناظق متتالية من الذاكرة وهي من البنى الثابتة الحجم أي يجب أن نذكر حجمها عند التصريح عنها
مثال:
من الخطأ أن نفول
int a ;
int x[a];
cin >> a ;
ولكن نقول:
int a[10];
أو
int a =10;
int x[a];
ولاظهار أو ادخال عناصر مصفوفة نستخدم حلقة فور ابتداء من العنصر 0 وهنا تأتي المشكلة فنحن متعودون على أن يكون العنصر الأول رقمه 1 أما في لغة البرمجة فالعنصر الأول رقمه 0 والسبب هو التالي:
عندما يقوم المترجم بمعالجة المصفوفة يحجز في الذاكرة مكان لمتحول اسمه من اسم المصفوفة والعنصر الأول في المصفوفة هو الذي يبعد عن هذا المتحول بمقدار 0 والعنصر الثاني يبعد عنه بمقدار 1 وهكذا دواليك.
نسيت أن أسألك عن رأيك بالبيت القائل
أراك عصي الدمع شيمتك الزجر أما للهوى نهي عليك ولا أمر
أخ عمر انتظرني حتى يوم الجمعة وما قصدته بتحويل الكود أي كتابته بلغة الفيجوال الشبيهة بلغة الديلفي
أخوي أنا أعرف فيجوال بيسك .. وما أحتاج أي مساعدة فيها ..
لكن أنا أريد أتعلم ++C ولذا أريد البرنامج بالسي++ ..
وبالنسبة للمترجم فكلاهما متوفر :
Visualc++ و BorlandC++
لذا بأي واحد تكتبها ما عندي مشكلة
وشكرا
السلام عليكم ورحمة الله وبركاته ,
لم يتلاشَ شعوري بأني في غير مكاني بعد , سواء كوني في كلية الهندسة أو كوني هنا في موضوع عن السي بلس وأنا المتنقلة دوما بين واحات الأدب عموما ( احم اعتذر عن مقدمتي الفلسفية )
الشرف لي طبعا !إلى الاخت رابعة يشرفنا وجودك معنا ونعتذر منك على الاخطاء اللغوية
فهمت التعريف ولكن احم بالمرات القادمة -وما أكثرها -سأثقل عليك أن تدع جمل لها علاقة بكيفية التخزين وما الى ذلك لأن الكتاب والمادة لم تأتِ عليه بعد << طبعا نظرة رحمة بنا !المصفوفة:
هي عبارة عن عدة عناصر من نفس النمط ومرتبة في مناظق متتالية من الذاكرة وهي من البنى الثابتة الحجم أي يجب أن نذكر حجمها عند التصريح عنها
فقط مجرد استفسار , كأن هذا أصبح صحيحا عندما استعملنا الdaymnic arrays?من الخطأ أن نفول
int a ;
int x[a];
cin >> a ;
طبعا اعذرني على الاملاء أكيد الكلمة خطأ لكن شرح محاضرة اول امس كان عن هذه النقطة وكيفية استخدام pointers في حل المصفوفات
نحن نتعامل مع الطريقة الأولى طبعا << أدمغتنا لا تستوعب كل هذه الجمل في التعريفولكن نقول:
int a[10];
أو
int a =10;
int x[a];
احم كما فهمت طبعا :ولاظهار أو ادخال عناصر مصفوفة نستخدم حلقة فور ابتداء من العنصر 0 وهنا تأتي المشكلة فنحن متعودون على أن يكون العنصر الأول رقمه 1 أما في لغة البرمجة فالعنصر الأول رقمه 0 والسبب هو التالي:
عندما يقوم المترجم بمعالجة المصفوفة يحجز في الذاكرة مكان لمتحول اسمه من اسم المصفوفة والعنصر الأول في المصفوفة هو الذي يبعد عن هذا المتحول بمقدار 0 والعنصر الثاني يبعد عنه بمقدار 1 وهكذا دواليك.
أن جملة (خطأ )
(++for (int i=1;i<n;iوأن جملة (صح)
for (int i =0 ;i<n;++iأعتقد هذا كان قصدك ( طبعا مع مسامحتنا في طريقة كتابة الكود لأن الانتقال للنجليزي مجهد جدا هنا )
أو انه ليس قصدك عموما أنا أعرف انو اول متغير يخزن بقيمة صفر وانو لو عرفنا مصفوفة من 5 متغيرات
int a =[10]
فسيكون لدينا خمس متغيرات الاول يعتبر المتغير رقم صفر والثاني المتغير رقم واحد والثالث المتغير رقم اثنان والرابع المتغير رقم ثلاثة والأخير المتغير رقم أربعة
ممكن طيب ترفق مثال لأحله؟ << تأكدا يعني
وشكرا لك
من أي ناحية ؟ نبذه عن القصيدة ؟نسيت أن أسألك عن رأيك بالبيت القائل
أراك عصي الدمع شيمتك الزجر أما للهوى نهي عليك ولا أمر
هي للكاتب أبو فراس الحمداني كتبها في أسره وهي من تلك القصائد التي تدعى بالروميات , تعد القصيدة من أجمل قصائد عن الأسر وحنين الأسير ومطلعها :
أراكَ عصيَّ الدَّمْعِ شيمَتُكَ الصَّبْرُ
أما لِلْهَوى نَهْيٌ عليكَ و لا أمْرُ؟
بَلى، أنا مُشْتاقٌ وعنديَ لَوْعَةٌ
ولكنَّ مِثْلي لا يُذاعُ لهُ سِرُّ!
إذا اللّيلُ أَضْواني بَسَطْتُ يَدَ الهوى
وأذْلَلْتُ دمْعاً من خَلائقِهِ الكِبْرُ
تَكادُ تُضِيْءُ النارُ بين جَوانِحي
إذا هي أذْكَتْها الصَّبابَةُ والفِكْرُ
مُعَلِّلَتي بالوَصْلِ، والمَوتُ دونَهُ
إذا مِتُّ ظَمْآناً فلا نَزَلَ القَطْرُ!
طبعا لن أخوض بدراسة الابيات وبيان مدى أثره أبي فراس على عكس أيثار ابي العلاء المعري , ان شئت الاستزادة ورؤية القصيدة كاملة أنصحك بموقع أدب ديوان العرب (adab) وان كنت من مستمعي الموسيقى والغناء أم كلثوم غنتها بتوزيعان مختلفان !
وأخيرا لو كنت تطلب رأي الخاص بالقصيدة :
هي من أجمل ما قرأت وحفظت طوال سني الدراسة (المدرسية طبعا ) << لك أن تتوقع مدى ابتعادي المؤقت عن الشعر في كلية الهندسة المصونة
تحيتي لك
الاخت رابعة أرى في كتابتك خجلا فلا أسر منه وأقول لك:
أنا افكر فأنا موجود
أنا اتعلم فأنا موجود
أنا انسان فأنا مخلوق لكي افكر وأتعلم فأنا مخلوق لكي أكون موجود
فكلمة أنك الانثى الوحيدة هنا لا أحب سماعها بل أريد بدلا منها الاخت العزيزة.
نعود إلى المضوع الأصلي فأنت تحدثت عن بنى ديناميكية يوجد في السي نوعان من البنى statics أي ساكنة و dinamic
أي المتغيرة وأنتم أخذتم الأولى بالإضافة إلى المؤشرات , و المتغيرة يمكن تشبيهها ببالون مطاطي فيمكن أن تنفخيه فيزيد حجمه
أو تفرغيه من الهواء فينقص حجمه أما الساكنة كالمصفوفات فهو عبارة عن كأس من الماء يمكن تعبئته إلى حد معين
ويمكن أن نرشف منه كميات معينة من الماء فأنا عندما أريد أن أتعامل مع مصفوفة فعلي أن اتذكر المحدودية وعندما أتعامل مع مؤشر
أتذكر الشمولية ولكل استعمالاته.
وما قصدته بذكر 0 هو البدء بحلقة "فور" من الصفر كما أعقبت أنت على الكلام .
ولو اتبع كتابكم الترتيب المناسب لأعطى البنى الساكنة قبل المتغيرة مع أني لاأملك الحق في توجيه نقد لمؤلف كتاب فأنا أعتذر منه سلفا
وهنا قد يطرح عليك السؤال التالي : كيف أكتب برنامج يحوي مصفوفة غير محدودة وأنا قد قمت بكتابة واحد من أجلك وسأعرضه مع الشرح
#include<iostream.h>
void main()
{
نقوم في السطر التالي بتعريف مجموعة من المتحولات من بينها مصفوفة تحوي 100 عنصر
int n , a[100] , s = 0 , x , y = 1 , max , sum = 0 , z ;
float avg;
cout << " Enter the size of arry less than 100 " << endl;
هنا يقوم مستثمر البرنامج بتحديد عدد عناصر المصفوفة على ان تكون أقل من مئة عنصر
فلو كانت أكثر فلن يستطيع المترجم تجاوز الحد المصرح عنه ألا وهو مئة عنصر
cin>>n;
هنا سأستخدم حلقة لادخال عناصر المصفوفة وحساب متوسطها الحسابي
for ( int i = 0 ; i < n ; i++ )
{
cout << "a[" << i << "]=";
cin >> a[i] ;
s += a[i] ;
}
avg = (float) s / n ;
cout << "avg = " << avg << endl ;
وهنا حلقة لاظهار عناصر المصفوفة
for ( i = 0 ; i < n ; i++)
{
cout << "a[" << i << "]=" << a[i] << endl ;
}
cout << endl ;
هنا نقوم بادخال رقم عنصر لاعلى التعيين ثم نقوم بحساب العاملي للقيمة المكافئة لهذا العنصر في المصفوفة
cout << " Enter x = " << endl ;
cin >> x ;
cout << "a[" << x << "]=" << a[x] << endl ;
for ( i = 1 ; i <= a[x] ; i++)
{
y *= i ;
}
cout << "y=" << y << endl ;
وهنا نحسب أكبر عدد في المصفوفة
max = a[0] ;
for ( i = 0 ; i < n ; i++)
{
if( max < a[i] )
{
max = a[i] ;
}
}
cout << "max = " << max << endl ;
وهنا نقوم بادخال رقم عنصر لحساب مجموع العناصر في المصفوفة حتى هذا العنصر
cout << " enter max of array " << n << endl ;
cin>> z ;
for ( i = 0 ; i < z ; i++)
{
sum += a[i] ;
}
cout <<"sum = "<< sum << endl ;
}
وأخيرا أشكرك فقد أعدت لي ذكريات الطفولة عندما كنا في المدرسة نتحدث العربية عندما كنا نكتب بالعربية عندما كنا نبدع بالعربية
وأنا سألتك عن هذا البيت لأني أعرف أنك كاتبة مرهفة الاحساس فكتبت هذا البيت ليستمتع هذا الاحساس
وأنهيها أخيرا بأنك وكما قلت أخت عزيزة ووجودك يشرفنا وإذا انزعج أحد من كونك معنا فليتقوقع على نفسه وليغمض عينيه كي
لايراك وهنا استذكرت الأبيات القائلة:
يقولون إن الكتابة اثم عظيم فلا تكتبي
وأن مداد القصائد سم فإياك أن تشربي
وهأناذا قد شربت كثيرا ولم أتسمم بحبر الدواة على مكتبي.
أخوي علي .. أتمنى أن لا تنساني ..
وللعلم فيه مبرمجات موجودات بهالقسم: أذكر منهن (حبيبة الشيخ, الليدي أوسكار) .. لست وحيدة بالطبع ..فكلمة أنك الانثى الوحيدة هنا لا أحب سماعها بل أريد بدلا منها الاخت العزيزة.
إنا بعدني ^_^وأخيرا أشكرك فقد أعدت لي ذكريات الطفولة عندما كنا في المدرسة نتحدث العربية عندما كنا نكتب بالعربية عندما كنا نبدع بالعربية