- [ تمت الإجابة ]المكدس
لاتعكس المكدس وسيكون كما أردت. إذا أدخلت في المكدس : 123 عن طريق push فسيكون في المكدس : +---+ | 3 | +---+ | 2 | +---+ | 1 | +---+ وإذا أردت إستخراجها من المكدس وطباعتها فستظهر : 321 كما ترى, آخر من دخل هو أول من يخرج. عكس المكدس يعني إظهار البيانات بنفس الصور…
- [ تمت الإجابة ]المكدس
عدل الوظيفة لتصبح : void inv(stack &s) { int first = s.iteam[0]; int last = s.iteam[s.top]; s.iteam[0] = last; s.iteam[s.top] = first; int i; for(i = 1 ; i < s.top ; i++) s.iteam[s.top - i] = s.iteam; } ------------------------------------------- | | | | | Thi…
- [ تمت الإجابة ]أريد حجز مصفوفة بحجم غيغا بايت..
يمكنك بدل أن تستخدم مصفوفة عادية أن تخصص مصفوفة عن طريق malloc أو calloc. لو عملت : char array_one[10]; char *array_two = (char *) malloc(sizeof(char) * 10); ستحصل على مصفوفتين بنفس الحجم ولكن حجم الأولى في المكدس 10 بايت والأخرى 4 بايت فقط وثابتة مهما كبر حجم…
- المقابل بلغة السي
1 0x0000000100000ef0 <main+0> : push %rbp 2 0x0000000100000ef1 <main+1> : mov %rsp,%rbp 3 0x0000000100000ef4 <main+4> : sub $0x10,%rsp 4 0x0000000100000ef8 <main+8> : lea 0x51(%rip),%rax # 0x100000f50 5 0x0000000100000eff <main+15> : mov %rax,%rdi 6 0x00000001…
- سوف أدخل المستشفى بسبب الاسمبلي
أسمبلي 16 بت و 32 بت عالمين مختلفين وأغلب ماتتعلمه بعالم 16 بت لايمكن تطبيقه أو الإستفادة منه إذا أتيت إلى 32 بت سوى بعض أبسط الأشياء من أوامر الأسمبلي الأساسية مثل add, sub, push ..إلخ. البرمجة في ويندوز تعتمد على الـWindows API (واجهة ويندوز البرمجية) وأغلب …
- حزورة لتنشيط الدماغ..
أحسنت, هذا ماقصدته. الجزء : array[0] سيحول عند التصريف إلى : *(array+0) ولو عكست سينتج : *(0+array) -> 0[array] فكلاهما فعلياً نفس الشيء : *(array+0) == *(0+array) @: ليست واجباً أن تنتهي المصفوفة بـnull سوى السلسة النصية. قد تكون مثلاً مصفوفة لبيانات ملف.
- حزورة لتنشيط الدماغ..
يلزم إستخدام التوجيه ## لضم جزئين : #include<stdio.h> #define FOO(A, B) A ## B int main(void) { printf("%d\n", FOO(1, 2)); // 12 return(0); } الجواب : #include<iostream> #define past(A,B,C) A ## B ## C // A ## B ## C == ABC using namespace std; int main() { in…
- حزورة لتنشيط الدماغ..
فقط إستدع الدالة الرئيسية نفسها : #include<stdio.h> main(void) { printf("X"); main(); } وستعمل كما لو كانت printf في حلقة تكرار.
- حزورة لتنشيط الدماغ..
هذه تتطلب macro لتبديل return بـprintf وإضافة الأقواس بإستخدام # : #include<stdio.h> #define return(string) printf(#string) /* #string == "string" */ int main() { return(Welcome To C++); } PS C:\Users\Barakat\Desktop> .\foo.exe ; echo ""Welcome To C++ PS C:\Us…
- حزورة لتنشيط الدماغ..
define مثل عملية "بحث وإستبدال" بحيث سيتم إستبدال return بالدالة لحظة تصريف البرنامج. لو كان لدينا هذا البرنامج : #include<stdio.h> void my_function(); int main(void) { return(0); } void my_function() { printf("I'm my_function.\n"); } عند تشغيله : PS C:\Users\…
- Buffer Overflow والنمط المحمى
السؤال الأول ربما تود إعادة صياغته بهذه الصيغة : كيف أمكن تشغيل التعليمات الموجودة في المتغير shellcode (تستدعي MessageBoxA , ﻻشيء ضار | مصدره ) : /* Title: Allwin MessageBoxA Shellcode Date: 2010-06-11 Author: RubberDuck Web: http://bflow.security-portal.cz T…
- أين هو الخطأ في هذا الكود
أنت تحاول إستدعاء self.__name وself.__sex وself.__name وأنت لم تقم بتهيئتها, لم تستفد من init. فـself.__name أوself.name لايعني name فكلاً منهم متغير مستقل. هذا الكُود المُصحح : class amer: def __init__(self, name, sex, age): self.__name = name self.__sex = se…
- تشغيل كود جافاسكريبت حتى لو تم إيقاف الجافاسكريبت بالمتصفح ؟
يمكنك إستخدام وسم noscript وسيظهر مابداخله , فقط html , إذا كانت جافاسكربت معطلة : <noscript>This web site requires JavaScript</noscript> أما إجبار المتصفح على تشغيل جافاسكرب, لا, ﻻيوجد.
- كيف اجعل المستخدم يخزن عمليه في المتغير ؟؟
هذه العملية تسمى evaluation وﻻ تقوم بها C++ بل يلزم معرب لغوي parser. إذا كانت العملية التي سيدخلها المستخدم مجرد رقمين وعملية رياضية , 1 + 3 , فهذا معرب بسيط : #include<iostream> #include<cstdlib> #include<string> #include<algorithm> using namespace std; floa…
- الفرق بين ++C و C++
في هذا البرنامج : #include<stdio.h> int main(void) { int i = 0; printf("%d\n", i++); printf("%d\n", i++); printf("%d\n", i++); return(0); } > a.exe0 1 2 > طبعت الدالة printf في البداية قيمة i والمساويه لـ 0 , ثمّ زاد قيمتها بـ1 ..إلخ . عملية الزيادة تأتي ﻻحقاً…
- [ تنبيه ] كود لشخص بيمشي
أجريت بعض التعديلات على البرنامج وعمل لدي : #include<GL/glut.h> #include<windows.h> float tx = 0, ty = 0; float sx = 1, sy = 1; float xp = 0, yp = 0; float angle = 0; int type = 1; void draw(void) { // rass glColor3ub(255, 231, 204); glBegin(GL_POLYGON); glVer…
- [ تمت الإجابة ]معرفة من يستخدم لوحة التحكم الخاصة بي
عمل مثل هذا الشيء , وضع أي كود يرسل معلومات بدون موافقة من يستخدمه, سيعمل لك مشاكل قانونية ومباشرة ستفقد ثقة الآخرين بك وفي تطبيقك. يمكنك عمل دالة ترسل معلومات أثناء التنصيب ولكن يجب أن تستأذن من المستخدم وتخبره بنوع المعلومات التي سترسل بدون جمع أي معلومة قد …
- التحقق من المدخلات ..
الـ+ ليست للجمع بين أجزاء الـregex بل تعني "مرة أو أكثر" : ^m+$ تعني يبدأ بـm مرّة أو أكثر وينتهي بها (سيطابق m, mmmm, mmmmmm .. إلخ). ^1|2$ تعني يبدأ وينتهي بـ1 أو 2 (إما 1 أو 2). ماتريده : يبدأ (^) بحروف ([a-zA-Z]) مرتين أو ثلاث ({2, 3}) ثٌم أرقام ([0-9]) ثل…
- [ تمت الإجابة ]تحسين كود :التحويل من النظام الثنائي للنظام العشري
إنظر أيضاً لهذا الكود , أبسط قليلاً: #include<stdio.h> int main(void) { char input[256]; char *input_ref = input; unsigned int i = 0; printf("Enter a binary number: "); scanf("%255s", input_ref); while(*input_ref != '\0') i = i * 2 + (*input_ref++ - '0'); prin…
- التحقق من المدخلات ..
إبحث عن الـregex وطريقة مطابقة النصوص بإستخدامها : https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions الـregex المناسب مع الأرقام والحروف, كبيرة أو صغيرة, فقط : ^[a-zA-Z0-9]+$ ومعناه أن النص الذي أبحث عنه : يبدأ ^ وينهي $ بأحرف من a إلى z أو…