- مساعدة في برنامج lex
%option noyywrap chiffre [0-9] nb {chiffre}+ integer [+-]?{nb} rationel {integer}"/"{integer} %% {rationel} { printf("rationel : %s\n", yytext); } {integer} { printf("integer : %s\n", yytext); } %% int main(void) { yylex(); return 0; }
- مساعدة في برنامج lex
عدد ناطق = عدد كسري ؟ يمكنك استخدام طريقة أطول تطابق، مثلأً إذا أردتي مطابقة علامة المساواة == وعلامة الإسناد =، لأن النمطين فيهما جزئ مشترك (عدد صحيح في حالتك)، فيلزم أن بدأين أولاً بالتحقق من علامة المساواة == لأنها الأطول ثم =، وإلا فسيعتبر flex أن == عبارة…
- Case insensitive string
لاتوجد دالة في c لهذا الغرض (توجد هناك stricmp لكنها ليست قياسية وقد لاتجدينها)، يمكنك كتابة واحدة واستخدام tolower: int istrcmp(const char *s1, const char *s2) { for( ; tolower(*s1) == tolower(*s2); s1++, s2++) if(*s1 == '\0') return 0; return *(unsigned cons…
- مساعدة في برنامج lex
هناك مسافة هنا: {mot_clé } { printf ("mot_clé");} ^ مسافة يلزم إزالتها واستبدلي é بحرف e (لاتدعم C غير رموز الإنجليزية و _ والأرقام مسموحة بعد الحرف الأول). أيضاً لديكي مشكلة أن identificateur سيتم التحقق منها قبل mot_cle والتي يبدو أنها تمثل الكلمات المحجوزة …
- ما الفرق سوال سهل لشباب الفريق العربي
ربما لو تعدل العنوان لمثلاً "سؤال عن بنية الإنترنت" لكان أفضل. الصورة تشرح بنية الإنترنت (يرجى الإنتباه أن هذه البنية ليست دائماً شجرية كما سترى): مزود خدمة الإنرنت المحلي Local ISP (تسمى أيضاً Access ISP)، هي الجهات التي توفر خدمة التوصيل بالإنترنت للمستخدمين…
- مشكلة في التعامل مع رموز ASCII في البايثون
وضح الغرض من السؤال للحصول على إجابة جيدة. الآسكي 128 رمز (7 بت) تبدأ من 0 إلى 127، مابعدها ليس آسكي، بل يختلف حسب الترميز (في أغلب الترميزات أول 128 قيمة تحوي رموز آسكي)، مثلاً 224 (0xe0) يشير إلى "ض" في ترميز CP 720 ، أو "à" في Windows-1256 أو "Ó" في CP 857 …
- Exception 0xC0000005 with list
الـstruct مثل class عدى أن عناصرها افتراضياً public (في الـclass افتراضياً private). operator() ستسدعى إذا استعيدتي الكائن (تجعله كما لو كان دالة)، جربي هذا: #include <iostream> using namespace std; struct Object { Object() { cerr << "Object()" << endl; } void…
- خطأ في تنفيذ destructor
المشكلة لديك أن char* a مشتركة، عندما يستدعى الـdestructor فستحرر الذاكرة المحجوزة لـa، وتبقى الكائنات التي تشير لنفس الذاكرة تشير لبيانات غير صالحة. أول destructor سيستدعى ويسبب المشكلة هنا (القيمة الممررة v): second(first v) { f=v; } في الدالة الرئيسية: firs…
- Exception 0xC0000005 with list
عند حذفك للعنصر، فكائن الـlist<string>::iterator لم يعد صالح لأنه يشير لعنصر محذوف: يمكنك استدعاء remove مباشرة وتمرير x لها وستحذف العناصر المساوية لـx. ... int main() { list <string> mylist; string x; cout<<"test: "; cin>> x; ... mylist.remove(x); ... } أو ي…
- كيفيه تعديل هذا الكود للحصول على عنوان النافذه من خلال ال اسم البروسس الخاص بها
العملية قد تكون فيها أكثر من نافذة، أي أكثر من thread في كل واحد نافذة، لايشترط أن تكون مرئية!. يمكنك عرض قائمة بالنوافذ باستخدام EnumWindows ، ستحصل على مقبض للنافذة، استخرج معرف العملية التي تتبع له باستخدام GetWindowThreadProcessId ، وقارنه بالعملية التي تر…
- التحقق من عمل process ما
FindWindow لديك تبحث بإسم النافذة، وهذه تتغير، يمكنك استخدام اسم فئة class النافذة مثل Notepad إذا كنت تبحث عن برنامج معين، استخدم أداة Spy++ للإيجادها، في المرفقات. اضغط على ايقونة البحث واستخدم الـFinder tool. if(FindWindow(L"Notepad", NULL)) { /* وجدت */} أ…
- كيف احل مشكلة التواصل بين ال process باستخدام ال pipe
wait تستقبل مؤشر لـint أو NULL: #include <sys/types.h> #include <sys/wait.h> pid_t wait(int *status); ليس int أو بدون قيمة (القيمة الفارغة لاتعني NULL!)، المصرف يفترض أن ينبهك على هذه الأخطاء، اقرأي تحذيراته وصلحيها. أيضاً هذا الكود ليس سليم: pid = fork();wait…
- كيف احل مشكلة التواصل بين ال process باستخدام ال pipe
وجود النصوص الفرنسية في الحقيقة يصعب فهم البرنامج. هناك بعض الأخطأ لديك wait تأخذ مؤشر لـint، أما أن تمررين لها قيمه أو NULL، ثم أنها تستدعى في العملية الأب وليست في الإبن ( انظري هنا ). fork تعيد صفر في العملية الأبن وليس في الأب، انظري لتوثيق الدالة (أو من ا…
- اريد علاقة بين exit and wait؟
*** مشاركة مكررة، يرجى حذفها. ***
- اريد علاقة بين exit and wait؟
wait تجعل العملية الأم تتوقف وتنتظر حتى تتغير حالة العملية الإبنه (تتوقف، أو تنتهي، أو تنهار وغيرها من الحالات)، سبب تغير حالة العملية الإبنه سيمرر عبر المتغير status الذي تمررينه لـwait (يمكن تمرير NULL إذا كان لايهم السبب). يمكنك استخدامها لجعل العملية الأم …
- مشكلة في ال class لغة cpp
المشكلة لديك أن الدالة operator== معرفة في الملف Duree.cpp، فلا يمكن رؤيتها من main.cpp. 1- ممكن أن تعلن عنها في الملف الرأسي: ... }; bool operator==(Duree const& a,Duree const& b); #endif // DUREE_H_INCLUDED 2- أو ممكن أن تنقل الدالة للملف الرأسي وتزيلها من D…
- كيفية معرفة مايمثله الكود بقيم الهيكس .
البرنامج لايحول لـhex، فالـhex نظام عد، هذه الأرقام 92 44 55 بايتات يعرضها لك البرنامج بنظام الـhex. الملف التنفيذي الناتج يحوي عدة أقسام من بينها قسم التعليمات code أو text الذي يضم تعليمات برنامجك. انظر في برنامجك في العمود الثاني من اليسار (push 0 تقابل الب…
- سؤال بخصوص التعامل ب HEXADECIMAL
النظام السداسي عشري ستحتاجه طالما أنك تبرمج، عني استخدمه أتعامل معه شبه يومياً، والعملية ليست معقدة إذا توقف عن إجراء التحويلات يدوياً. فلا أحد يقوم بإجراء التحويلات يدوياً، هناك آلة حاسبة في نظامك يمكنك استخدامها، او نزل مفسر لغة بايثون واستخدمه كحاسبة من سطر…
- هل درست ++C من الـ manual ؟ لا ! إذاً استعد للكوابيس
هذه تسمى trigraph sequences وهي، الرمز ومايقابله: ??= # ??( [ ??/ \ ??) ] ??' ^ ??< { ??! | ??> } ??- ~ ??? ? مدعومة من c89 وقبل، سبب وجودها أن بعض لوحات المفاتيح القديمة كانت تفتقر لبعض تلك الرموز لذا يستعاض بهذه الرموز بدلها. gcc يتجاهلها افتراضياً مع تحذير،…
- عايز اتعلم مايكروكونتولورار من فضلكم
يرجى أخي الكتابة بالفصحى. لاتحتاج للتلحيم وهذه الأشياء، هذه خطوة أخيرة إذا اعتمدت تصميمك، الأغلب يستخدمون لوح تجارب breadboards مثل هذه: تجد بها ثقوب فقط تثبت فيها المكونات وتفصلها. نصيحتي لك أن تشتري متحكمة آردوينو أونو Arduino Uno، رخيص ومتعدد الإستخدامات وم…