- لا اجد سبب المشكله في برنامجي
* تجنب استخدام الفرنسية في كتابة المتغيرات والدوال. * ضع مسافات لتسهيل قراءة البرنامج، بدل ان تكتب: for(i=1;i<=n;i++) اكتب: for(i = 1 ; i <= n ; i++) * يفضل استخدام المسافات بدل حرف الـtab في محرر النصوص لأن عرض الـtab غير ثابت في المتصفحات ومحررات النصوص، ادخ…
- ترميز الحروف
شكراً لك أخي محمد على المقالة الرائعة. معلومات بسيطة عند التعامل مع العربية، قد يكون لديك ملفين فيهم كلمة معينة إلا أن محتويات كل ملف ستختلف كلياً عن الآخر إذا كان الترميز مختلف. أيضاً عند ظهور الكلام بلغة أخرى أو يظهر رموز فالأرجح أنك تقرأها بالترميز الخطأ. ا…
- استخدام for .. next المتداخلة عدد غير محدد من المرات
أعتقد أن مشكلتك تتطلب استدعاء ذاتي recursion
- تمرين ببرنامج MATLAB
اظنك نسيت أن تقفل القوس ( بعد plot الأخيرة.
- مساعده في صيغة باكوس نور..
قاعدة الـbnf مثل قواعد اللغة العربية الكلام: جملة فأكثر الجملة: اسمية أو فعلية اسمية: مبتدأ خبر المبتدأ: كلمة الخبر: مفرد أو جملة ... إلخ قواعد اللغة العربية كثيرة وأشد تعقيد. لكن الملاحظ أن القواعد تتشعب. الآن إذا أردت أن تتأكدين من أن الكلام سليم تمريرين جمل…
- فكر مع الـ template
يمكن تعديله ليقيل أي حجم: #include <iostream> #include <cstring> template<typename T, int N> struct array { T e[N]; // place copy function declaration here template <int M> inline void copy(const array<T, M>& a); }; // place copy function definition here templ…
- سؤال في الفنكشن والاراي ..؟
rand لاتولد أرقام عشوائية حقيقية، خورزميات توليد الأرقام العشوائية تسمى pseudo random number generators ، تولد سلاسل أرقام عشوائية. طالما أنك تستخدمين نفس الـseed (البذرة) فالخوارزمية المستخدمة في rand ستولد نفس السلسلة من الأرقام. يلزمك أن تجعلين الـseed متغي…
- هل يمكن انشاء مصفوفة يحدد المستخدم أبعادها بدون المؤشرات
هذا الـdynamic stack allocation، وهذه ممكنه فقط في c99 (لايدعمها msvc)، وتدعمها بعض المصرفات مثل gcc كإضافة للغة، مثلاً: #include <stdio.h>intmain(int argc, char **argv){ int n, m, i, j; printf("n? "); scanf("%d", &n); printf("m? "); scanf("%d", &m); int array…
- تعريف كلاس قبل كلاس
بدلاً من أن تنشئ فئتين منفصلتين، يمكنك التخلص من احدهما طالما أنه يمكن التحويل بسهولة بين النظامين وتضيف دالة static تعمل كـ factory ، تحول الإحداثيات القطبية للديكارتية. مثلاً: static Vector create_from_polar(double angle, double length) { return Vector( cos(…
- سؤال عن حجم البنية وكيفية التعامل معها
البنية تعامل كمتغير واحد، أعضاء البنية مرتبين داخلها.
- دمج الاسمبلي مع C++
يمكنك فصل ملف الأسمبلي عن ملف الـc/c++ لكن الطريقة تختلف بحسب المجمع المستخدم، لو كان لديك دالة اسمها asm_add تجمع رقمين ومكتوبة بالأسمبلي: // file: file.cpp #include <stdio.h> extern "C" int asm_add(int a, int b); int main(int argc, char **argv) { printf("%d\…
- سؤال بخصوص لغة C++.
دوره أخي وضع مواصفات اللغة مع آخرين من أفراد ومؤسسات واختبار هذه المواصفات، إثبات أنها تعمل ولاتؤدي لمشاكل، عندما تُعتمد هذه الوصفات تشر وثائق لمعايير اللغة، ثم يأتي مطورين المترجمات ويبنون مترجماتهم وفق هذه المواصفات.
- سؤال عن حجم البنية وكيفية التعامل معها
هذا عائد للمصرف وكيفية ترتيبه للمتغيرات ولايوجد مايلزم أن المتغيرات ستكون متجاورة، إذا كانت متغيرات محلية فالأرجح أن ترتيبها سيعكس، إعمل طفح في الثاني الزيادة ستظهر في الأول.
- سؤال عن حجم البنية وكيفية التعامل معها
هل تستخدم strlen مع متغير لم تهيأة؟ المتغيرات غير المهيأة ستحتوي بيانات عشوائية (ليس فارغة كما قلت)، قد تكون أي شيء وقد تعطيك strlen أي رقم أو حتى قد ينهار برنامجك. المتغيرات الوحيدة التي تهيأ إفتراضياً في c بأصفار هي المتغيرات العامة والثابته static.
- سؤال عن حجم البنية وكيفية التعامل معها
لم أكن أشير إلى القيمة التي تعيدها الدالة، بل العودة للمكان الذي استدعيت منه. عندما تكتب بيانات خارج حدود متغير فهناك بيانات خربت ولايمكن الجزم بتأثيرها على سير البرنامج، أحياناً الخطأ لايظهر أو لايظهر مباشرة، لكن في كل الحالات هناك خطأ في البرنامج.
- سؤال عن حجم البنية وكيفية التعامل معها
الحل أنك لاتقرأ أكثر ممايستوعبه المتغير، gets غير آمنه عموماَ، يمكنك استخدام scanf هكذا: #include <stdio.h> int main() { char name[11]; // عشرة حروف للاسم وواحد للصفر الذي يحدد نهاية النص printf("name?> "); scanf("%10[^\n]s", name); // 10 اقرأ فقط عشرة حروف عل…
- سؤال عن حجم البنية وكيفية التعامل معها
لما تضع البنية داخل الدالة فهي ستخزن داخل مكدس الدالة ، لما أدخلت نص طويل أطول من حجم المتغير فحصل عندك طفح في المكدس stack overflow وكتبت فوق عنوان العودة للدالة main، الآن لما الدالة main تعمل return فستعود لمنطقة عشوائية في البرنامج وسينهار البرنامج. الخطأ …
- هل يمكن وضع main داخل class كما في جافا ؟
ضع الفئة في ملف header وأدرج هذا الملف في برنامجك الرئيسي: // header.h #ifndef __HEADER_H__ #define __HEADER_H__ #include <cstdio> class First { public: First() { puts("Hi Java"); } }; #endif // main.cpp#include "header.h"intmain(){ First f;}
- هل يمكن وضع main داخل class كما في جافا ؟
لايمكنك عمل هذا في c++، فـmain يجب أن تكون دالة وليست فئة من class أو أي شيء آخر، في الحقيقة لو كتبت: #include <cstdio> class First { public: First() { puts("Hi Java"); } }; class Main { public: static void main() { First first; } }; فالمصرف سيبني ملف object ف…
- مامعني __unicode__
هذه وظائف عادية مثلها مثل أي وظيفة تعرفها، لكنها لها معنى خاص بايثون. قبل أن أطرق لها يلزم أن تعرف كيف تحول بايثون كائن نوعه عدد صحيح مثلاً إلى نص. كل شيء في باثون عبارة عن كائن، الأرقام والدوال والفائات نفسها كلها كائنات. لما تنشيء كائن لرقم: >>> x = 123 >>> …