التفسير في نهاية الفيديو انه الكمبايلر بيشتغل من اليمين لليسار لما نحط الpre والpost داخل الcout رح يبلش بالبوست ويطبع قيمة x زيرو 0 ويخزنها في الذاكرة ون 1 بعدين يروح للبري ويزيد عقيمة x واحد فبتصير x بتساوي تو 2 وبطبعها 2 لذلك بيطلع الجواب 2 0
السلام عليكم بالنسبة لفكرة x=2 x=0 هو ان الكومبايلر اول شي طالع القيمة الاساسية بالاكس اللي هي كانت صفر بعدين طلع كل عمليات الجمع اتوقع النتيجة بتختلف اذا حطيت كل وحدة ب cout منفصل
اخوي بدي اسألك .. لما يكون عندي زي هيك .. Int x=5 , y ; Y= x++ + ++x +++x + x++ يعني بنفس السطر عندي اكتر من وحده بوست واكتر من وحده بري ... بهيك حاله الكومبايلر كيف بشتغل ؟؟ يعني مين اله الاولويه ( ببلش فيه الكومبايلر ) البوست ولا البري ؟؟؟؟ وبما انه في تنتين بوست ( الهم نفس الاولويه ) بأي وحده ببدأ من اليمين ولا من اليسار بمشي فيهم ؟؟؟ مع العلم اني حاليا بشتغل على كومبايلر النت بينز للجافا
في هاي الحالة بضلو ماشي من الشمال لليمين y = x++ + ++x + ++x + x++; وبتكون الارقام على النحو الآتي y = 5 + 7 + 8 + 8 ولاحظ الـ 8 ما صارت 9 خلينا نغير بـ آخر x زي هالمثال: y= x++ + ++x + ++x + ++x; y = 5 + 7 + 8 + 9 والسبب انو اخر رقم كان 9 عشانها زيادة قبلية,بتمنى تكون وصلتك
@@AdelNasim اخوي انا هاد الحكي انه كل وحده كيف بتشتغل فاهمه تمام التمام ... بس انا سؤالي انه لما يكون في تنتين بوست (او بري ) يعني الهم نفس الاولويه ..كيف بمشي فيهم من اليمين لليسار ولا من ليسار لليمين ... يعني مثلا لو في * و قسمه .. فهدول الهم نفس الاولويه فبمشي بالاول على اللي جايه عاليسار بعدين للي عاليمين ... لكن عند وجود تنتين بوست ( او بري ) هدول الهم نفس الاولويه ..بيجي بالاول على اللي عاليمين ولا اللي على اليسار ؟؟؟؟ اما سؤالي التاني هو على مين بيجي بالاول الكومبايلر ..على البوست ولا على البري ...يعني من اولى من التانيه البوست ولا البري ... فهمت سؤاليني اخوي ؟؟؟
تمام في جدول رالرابط في كل الاوليات الي بتلزمك مع الاتجاهات www.quora.com/Which-has-higher-precedence-out-of-pre-and-post-increment-decrement-operators-in-C++
مزبوط .. ببعض الـ IDE رح يطلع معك الناتج 3 وبعض آخر مثل الـ Visual studio الي بستخدمو بالفيديوهات رح يطلع معك 2 المسألة جدلية لكن هاي من الحالات فينا نحكي بنحاول نبعد عنها .. مثلا هاي الحالة cout
م @@AdelNasim ال y=++x+ ++x; ده the behavior is undefined يعني شئ غير منطقي في لغة سي بلس بلس .. وضد قوانين اللغة نفسها اذا قمت بتجربة المثال السابقة مع اكثر من compile مثل zapcc 5.0.0 GCC 9.1.0 هتجد ان كل compile بيعمل ناتج مختلف ببساطة ممنوع استخدام هذا الشئ في الكود لانه ضد قواعد اللغة نفسها لتفاصيل qr.ae/pNWu65
للاشخاص الذين لم تتضح عندهم الفكرة تابعو الفيديوهات رقم 25 و 26 و 27 من الرابط التالي ..... الفكرة مشروحة بطريقة مفصلة وواضحة ua-cam.com/play/PLPn4eVPZKtrJt0JpuQaspWxA5mFOSfFah.html
السلام عليكم يا استاذ انا رح افسرلك ليش حسبها 2 0 وانشاء الله رح تعجبك : اولا البرنامج انت قلت انو يبدء العمل من اليمين لليسار هاذا يعني انو بدء ب ++× اولا وهذا رح يظهر 0 ويخزن بداخل x واحد، وبعدها راح لل x++ اضاف واحد لل x يعني اصبح ال 2=x وبعدها عرضو 2 هذا تفسيري ان اصبت فمن الله وان اخطئت فمن نفسي والشيطان وشكرا اخوك من الجزائر 😘😘😘🇩🇿🇩🇿
جزاك الله كل خبر مهندس، بصراحة انا تخصصي الدقيق رياضيات لكن حبيت ادخل بمجال البرمجة وكانت بداية مبشره جدا معك
ممكن اتواصل مع حضرتك ،عايزه أسألك عن كذا حاجه
جزاك الله خير....شرحك مبسط وجميل جدا 💙
اجمعين يا رب .. كل الشكر لدعمك .. بالتوفيق الك.
التفسير في نهاية الفيديو انه الكمبايلر بيشتغل من اليمين لليسار لما نحط الpre والpost داخل الcout
رح يبلش بالبوست ويطبع قيمة x زيرو 0 ويخزنها في الذاكرة ون 1 بعدين يروح للبري ويزيد عقيمة x واحد فبتصير x بتساوي تو 2 وبطبعها 2
لذلك بيطلع الجواب 2 0
داخل ال cout ببلش الكومبايلر الطباعة من اليسار لليمين ف تفسيرك خاطء
خلصت الفيديو وكنت جاي اكتب مثل ما انت حكيت
امطرتنا الله يمطرك بكل خير.
شاكر اهتامك المتواصل اخي .. ❤
ابشرك شرحك وصل لالمانيا
13:20 الحل انك تضع end بينهم ورح يطلعها 1 1 الكومبايلر... بالتوفيق
int x=0,y=0;
y= ++x+x++;
cout
اني هم اشتغل على نفس الموقع واعطاني قيمة ال3=x
مشكور
الله يوفقك و يعطيك ألف عافية
ننتظر الجديد
الله يعطيك الف عافية حبيت مادة من شرحك
فى الدقيقة 10:43 ازاى قيمة المتغير x بقي 2 مع اني بستخدمة فى العملية الحسابية فقط
تسلم يدك يا هندسه
انت رجولة و انا بحبك
ممكن تتبع العملية فى الدقيقة رقم 11:50 مقتنعتش بصراحه بالتتبع ده. لو امكن توضيح اكتر
السلام عليكم
بالنسبة لفكرة
x=2
x=0
هو ان الكومبايلر اول شي طالع القيمة الاساسية بالاكس اللي هي كانت صفر
بعدين طلع كل عمليات الجمع
اتوقع النتيجة بتختلف اذا حطيت كل وحدة ب cout منفصل
وعليكم السلام ورحمة الله ..
يا ريت تزودني برقم الدقيقة .. او كود بالنسبة للسؤال عشان اجاوبك ادق ..
@@AdelNasim 11:24
Y=3
X=2 انا هيك طلع معي
انتا طلع معك y=2
X=2
اكثر من رائع مشكور
العفو .. وبالتوفيق ..
@@AdelNasim 🌹🌹
14:00
بسيطة
int x = 0;
cout
الله يجزيك الخير أستاذي
عند الدقيقة 11:10 أنا كنت عم طبق معك طلعتلي الـ y بـ3 والـ x بـ2
شو التفسير وشكرا
like you.
انا كمان
++X ،، الي هي قيمتها ب1
وكده الX بقت بواحد
نجمعها بقى على
X++ ،، والي هي ب1 برضو لأنها قيمة الاكس الجديدة
كده الY ب2
والX كانت ب1 وبعد البلص بلص بقت 2
اخوي بدي اسألك ..
لما يكون عندي زي هيك ..
Int x=5 , y ;
Y= x++ + ++x +++x + x++
يعني بنفس السطر عندي اكتر من وحده بوست واكتر من وحده بري ...
بهيك حاله الكومبايلر كيف بشتغل ؟؟
يعني مين اله الاولويه ( ببلش فيه الكومبايلر ) البوست ولا البري ؟؟؟؟
وبما انه في تنتين بوست ( الهم نفس الاولويه ) بأي وحده ببدأ من اليمين ولا من اليسار بمشي فيهم ؟؟؟
مع العلم اني حاليا بشتغل على كومبايلر النت بينز للجافا
في هاي الحالة بضلو ماشي من الشمال لليمين
y = x++ + ++x + ++x + x++;
وبتكون الارقام على النحو الآتي
y = 5 + 7 + 8 + 8
ولاحظ الـ
8
ما صارت 9
خلينا نغير بـ آخر
x
زي هالمثال:
y= x++ + ++x + ++x + ++x;
y = 5 + 7 + 8 + 9
والسبب انو اخر رقم كان 9
عشانها زيادة قبلية,بتمنى تكون وصلتك
@@AdelNasim
اخوي انا هاد الحكي انه كل وحده كيف بتشتغل فاهمه تمام التمام ...
بس انا سؤالي انه لما يكون في تنتين بوست (او بري ) يعني الهم نفس الاولويه ..كيف بمشي فيهم من اليمين لليسار ولا من ليسار لليمين ...
يعني مثلا لو في * و قسمه .. فهدول الهم نفس الاولويه فبمشي بالاول على اللي جايه عاليسار بعدين للي عاليمين ...
لكن عند وجود تنتين بوست ( او بري ) هدول الهم نفس الاولويه ..بيجي بالاول على اللي عاليمين ولا اللي على اليسار ؟؟؟؟
اما سؤالي التاني هو على مين بيجي بالاول الكومبايلر ..على البوست ولا على البري ...يعني من اولى من التانيه البوست ولا البري ...
فهمت سؤاليني اخوي ؟؟؟
تمام في جدول رالرابط في كل الاوليات الي بتلزمك مع الاتجاهات
www.quora.com/Which-has-higher-precedence-out-of-pre-and-post-increment-decrement-operators-in-C++
@@AdelNasim
ممممم ..
هاد c++ اخوي انا حابب اعرف بخصوص الجافا ..
عكل مشكور اخوي انا كنت حابب اعرف الطريقه اللي بتشتغل فيها انتَ لو اجتك هاي المسأله ...هل تتبع الاولويات والاتجاهات ام لديك طريقه اخرى
شكرا لك أخي
شكراً جزيلاً
العفو ..
وبالتوفيق الك
جزاك الله خيرا ❤️❤️
طلع معي 3 قيمة ال y
int x=0,y=0;
y=++x+x++;
cout
شو نوع الـ
IDE
الي بتستخدمو ؟
@@AdelNasim Code::Blocks
مزبوط .. ببعض الـ
IDE
رح يطلع معك الناتج
3
وبعض آخر مثل الـ
Visual studio
الي بستخدمو بالفيديوهات رح يطلع معك
2
المسألة جدلية لكن هاي من الحالات فينا نحكي بنحاول نبعد عنها ..
مثلا هاي الحالة
cout
شكراً جزيلاً ..
العفو .. وشكرا على المتابعة المستمرة ..
عفواً
مشكور استاذ
مبدع
int x = 0 , y = 0 ;
y = ++x+x++;
cout
طريقتك صحيحة وانا نفس الشي بيطلع معي👍
بوركت
مشكووور
روعة يباشا
افضل واحد ليشرح شي بلس بلس
آخر مثال بس حطيت على c++ online compiler
طلع معي x=1 و y=1🙂
في بعض ال compilers بتطلع أخطاء
اشتغل/ي على visual studio أأمن
شكرا لك .
الله يعطيك الف عافيه شرح روعه بس سؤال
++x+x++
يعني ضفلي ع x واحد بعدين ضيف عليها 1
طيب xالتانيه ليش مانقرت
#include
using namespace std;
int main(){
int x=1;
int y=++x+x++;
cout
@@AdelNasim الله يعطيك الف ااف عافيه
@@AdelNasim ممكن توضحلى النتيجة دى هتكون ٦ ازاى 'y=0
int x=1;
Y=++x+x+x++: ولو كتبت نفس المعادله وعرفتها بال x راح تطلع 7
@@AdelNasim انا عرفت التتبع للمسألة دى ووصلت النتيجة. ومحتاج اعرفهولك علشان تشرحه بس اتواصل معاك ازاى
م
@@AdelNasim
ال y=++x+ ++x;
ده the behavior is undefined
يعني شئ غير منطقي في لغة سي بلس بلس .. وضد قوانين اللغة نفسها
اذا قمت بتجربة المثال السابقة مع اكثر من compile مثل
zapcc 5.0.0
GCC 9.1.0
هتجد ان كل compile بيعمل ناتج مختلف
ببساطة ممنوع استخدام هذا الشئ في الكود لانه ضد قواعد اللغة نفسها
لتفاصيل
qr.ae/pNWu65
بدي اسال لحنا وقت منحط
Std::cout((
ايمت منحط (") وقت نشتغل وايمت ما منحطها
في فيديوهات كنت تحطن دائما وفي فيديوهات معد حطيتون
للاشخاص الذين لم تتضح عندهم الفكرة تابعو الفيديوهات رقم 25 و 26 و 27 من الرابط التالي ..... الفكرة مشروحة بطريقة مفصلة وواضحة
ua-cam.com/play/PLPn4eVPZKtrJt0JpuQaspWxA5mFOSfFah.html
السلام عليكم يا استاذ انا رح افسرلك ليش حسبها 2 0 وانشاء الله رح تعجبك :
اولا البرنامج انت قلت انو يبدء العمل من اليمين لليسار هاذا يعني انو بدء ب ++× اولا وهذا رح يظهر 0 ويخزن بداخل x واحد، وبعدها راح لل x++ اضاف واحد لل x يعني اصبح ال 2=x وبعدها عرضو 2 هذا تفسيري ان اصبت فمن الله وان اخطئت فمن نفسي والشيطان وشكرا اخوك من الجزائر 😘😘😘🇩🇿🇩🇿
وعليكم السلام ورحمة الله .. تفسير جميل .. حاول اتوسع بالمثال وضيف اكثر من جملتين وشوف شو بصير معك .
اخي يوجد خطاء عبيطلع 3
البرنامج يبدأ العمل من اليمين لليسار فى حالة الاسناد فقط اى علامة يساوى .... اما غيرها البرنامج يشتغل طبيعيا من اليسار لليمين
14:32 معني كده ان مفيش سبب ليه هو طبع 2 و 0
يا اخي اني فسرتو في تعليق لي اقراه وانشاء الله رح تفهم ليش وشكرا
لو سمحت وقت كتبنا ++y=x ليش عطانا قيمة ل x هي واحد مافمت
لان ال x انجمع فوقها 1 الى هو ++
ولكن ال y ما بتحسب بعد x يعني بتاخد القيمة الاولة ل x صفر
استاذ بسطر
Y=++x+x++;
Out :y =3
هيك عم يعطي كومبايلر عندي ❤
وانا هيك
في بداية المسا ئله بدأت بدا using
great
انت قايل قبل انوبهي لغة بنمشي من يمين لليسار بس هون ناقض حكيك استاذ عادل بنمشي من يسار لليمين
بحالة الاسناد بعد ال = بشتغل من اليمين لليسار اما عند ال cout ببلش طباعة من اليسار لليمين
11:10 غير منطقي ويلخبط
معلم طلعلي 3 لما طبعت cout >>++x+x+×;
و انا طلعلي هيك ليش؟؟
💜💜💜
الصوت وحش
فيه لخبطة بين x++ و ++ x وخصوصا من الدقيقة 9
شكرا على التنبيه ..
لكن في اي مثال ؟
انا مبتدئ نوعا ما و لاكن من السهل معرفة اش اللي حصل
من الواضح ان الكومبايلر بدا يقرا السطر من اليسار الي اليمن زي ما قلتنا في العمليات الحسابية
cout
مافهمت شي من هالجلسة تخبيص
😂
مافي تخبيص بالعكس
@@اندرويدالعراقيالصغير التعليق منذ سنتين تعديت هذي الامور كنت مبتدئة🗿🌚
@@4_Shoq هههه عفية اني هسه دخلت هندسة امن سيبراني والله
@@اندرويدالعراقيالصغيراني هم جديد دخلت على قسم بس صراحه صعب والله وخايفه
شكرا الك
❤❤❤❤❤
❤️❤️❤️