انا شفت تقريبا كل كورسات الداتا استركشر بصراحة انت في حتة تانية خالص ماشاء الله عليك اسلوب سهل وجميل جدا راي المتواضع لو عملت اكثر من كورس انت هتكون رقم واحد في في وقت قليل جدا بالتوفيق ياباشمهندس
مظبوط العنصر بيفضل فعلاً في الميموري بس مجازاً نقدر نقول انه اتمسح لانه خرج برا نطاق الـstack حتي لو حبيت بعد كده تعمل push فهيبدء يضيف العنصر الجديد مكانه او بمعني تاني هيغير قيمته للقيمة الجديدة ويكأنه مش موجود من الأساس في حالات تقدر تمسح بيها العنصر أصلا بأنك تخلي قيمته بصفر, بس الطريقة ديه تعتبر خطوة زيادة ملهاش لازمة علي الإطلاق
الـ data structure تعتبر مفهوم او فكرة بتتعلمها بتوسعلك مداركك وبتفهمك اللغة وطريقة استخدامها اكتر وبالتالي انت محتاج انك تطبق المفاهيم والافكار دي في حاجه بشكل عملي وعلشان تعمل كده هتعمل برنامج له فكره تقدر من خلالها تطبق الافكار الي اتعلمتها باستخدام اساسيات اللغة من ضمن الافكار مثلا علي الـ stack لعبة اسمها Towers Of Hanoi وبالنسبة مثلاً للـ queue فممكن تعمل اي نظام حجز زي نظام عيادة مثلاً اهم حاجه انك تطبق الي اتعلمته في برنامج حقيقي مش مجرد تطبيق مباشر
دلوقتى ال top بعد انتهاء ال function الواحد اللى اضفته عليها جوة ال function بيروح وبترجع ال function اللى بعدها تاخد قيمة ال top من ال-1 الاولانية ..... ولما عرفت ال top على انها static فى الاول بردو الموضوع فضل زى ما هو الحل ولا انا اللى مش عارف انفذ
المفترض انك بتعرف الـ top كـ global variable بحيث كل الـ functions تقدر تعدل عليه ويفضل محتفظ بقيمته بعد انتهاء تنفيذ الـ function ركز مع الفيديو وهيظبط معاك أكيد
ال global variable ملوش علاقه بال function لانه متعرف براها اصلا، ومش هتفرق انت عملتله call by value او call by reference هي بتفرق بس لو انت باعته لل function ك parameter اما لو global variable فبتعدل عليه علطول وبيفضل محتفظ بالقيمه.
علشان نقدر نستعمله بعد كده في باقي الكود كمرجع مش اكتر ويكون اسهل لو حبيت تعدله ولكن تقدر تكتب الرقم علطول بس لو غيرته هتحتاج تغيره بعد كده في باقي الكود
الreturn هو امر يأتي بعده في الأغلب قيمة وهو يقوم بإرجاع هذة القيمة عند استدعاء الدالة وإذا لم ياتي بعده اي قيمه فهو يكون بمثابة الbreak في الloop فيقوم بايقاف عمل الداله
بش مهندس انا باحاول اجرب الكود بالضبط بيطلعلى بدل ما يطبع العناصر كلها بيطبعها باصفار ليه مع أنه نفس الكود بالضبط ونفس العناصر بالضبط وفاهمه كل خطوه وبيطبعلى اصفار ليه ؟
انا بالفعل قمت بتعريفهم علي انهم دوال وليسوا متغيرات وبالنسبة لسؤالك الثاني، فالدالة لا تقوم بطباعة القيمة بل تقوم بارجاعها وبالتالي نحتاج ان نطبع القيمة التي تقوم بارجاعها اولا كي تظهر لنا القيمة
Display بتعرض العناصر بنفس ترتيب خروجهم ولكن مفيش حاجه بتتغير فعليا ، هي مجرد بتعرض بس Pop بترجع العنصر الي عليه الدور انه يخرج لكن الفرق انها بتخرجه فعلا لانها بتعدل علي قيمة الtop
لو حابب تفهم الجزئية ديه كويس شوف الفيديو الي قبل ده شرحت فيه الstack بشكل نظري وحاول برضو تشوف الفيديو ده كمان مرة لاني شرحت الجزئية ديه وتابع الجزء الي بيظهر جنب الكود وركز فيه ولو في اي سؤال تاني او جزئية مش مفهومة ممكن اوضحهالك
فهمت يعني ال function اللي اسمها pop هي وظيفتها انها تخذف العنصر اللي ال top بيشاور عليه و لو فضلت اعمل pop كذا مرة ال top ينقص واحد و تقوم ال function تحذف القيمة الجديدة اللي ال top بيشاور عليها .....صح كدة ؟
@@libyabasher3874 ههههههههههه ياخي وانا اللي كنت ساخط عليهم اما بيشرحوا ربع المقرر بس ربنا ينتقم منهم. اهو كويس بيشرحو حاجه😂😂 ربنا ينتقم منهم ياخي والله 4 سنين من العمر على ورقة واسم في البطاقة مهندس برمجيات هههههههه ولا في شرح ولا في برمجة اصلا😂😂
@@m7mdabohashem 😂😂 وللاسف ده السبب يلي خلا العالم يوصفنا ب شعوب العالم التالت. لو كل واحد يتقي ربنا ويعمل الشي يلي مطلوب منه على اكمل وجه ..كان من زمااااان وصلنا القمر وصنعنا السفن والسيارات والطائرات ... دكاترة واساتذه على الورق بس بيجي الجامعه مش عاوز يعمل حاجه غير انو يجلس على الكرسي ويقرى الشيت وكأنها مادة لغة عربية مش تراكيب بيانات ولا لغة جافا عاوزه شرح وتمارين وجهد كبير
لما يابشمهندس أنا مقدرش أتعمل مع ال elements of array اللي جوه ال stack غير مع ال top element ف ازاي هعرف أعمله display واحرك ال top اللي كان بيشاور ومستني إنهم يتعرضوا فقط وميتمسحهوش there is no logic in this tbh
السلام عليكم, اعتقد انت عندك لبس كبير في فهم فكرة عمل الـ stack وانصحك وبشده في البدايه تتفرج علي اول فيديو عملته عن الـ stack كنت شرحت فيه الفكره العامه وفكرة كل داله علي حدى. رابط الفيديو : th-cam.com/video/rYMuP7e-8CM/w-d-xo.html وكرد سريع علي سؤالك فانا فعلاً بتعامل مع العناصر من خلال الـ top لكن في حالة العرض ولو ركزت في الفيديو انا مش بحرك الـ top نفسه وانما بيكون في loop variable (i) قيمته الابتدائيه بتكون نفس قيمة الـ top وهو الي بيدء يتناقص في كل loop بحيث اقدر اعرض العناصر المتواجدة في الـ stack بدون ما يتم حذفها.
فاعل خير : الكود مرضيش يشتغل عندي بسبب ال pop & peek فده بسبب ان القيمة المخرجة منهم (int) فبالتالي انت لازم تخرج قيمة من ال funtion فلو نفزت الشرط if حينها مش هيخرج قيمة int لكن هتخرج بس رسالة طباعة النص اللي انت كتبوا ..... المشكلة هتظهرلك في ال terminal ب 'control reaches end of non-void function' بالاخير حل المشكلة بكل بساطة انك تضع بعد جملة طباعة النص اللي في if condation 'return false' في ال pop , peek هاد الكود المصحح int pop(){ if(top==-1){cout
الكلام ده المفروض مش مظبوط يا بشمهندس أو فيه حاجة غلط ﻷن المفروض ال stack أول ما يتعمله display ال top فضل يحصله decrement لحد ما وصل لل empty condition ف من المفترض إنه بعد أول display ال stack يفضى كاملاً وتدخل فيه عناصر جديد عشان تقدر تعمل pop لو حاب تعمل .. ال display في حالة ال stack based on array بتبقا عاملة زي ال delete All كده بالظبط
الفكره ببساطه تكمن في فهم فكر دالة الـ display ووظيفتها 1- الـ display ما هي الا داله مهمتها فقط عرض العناصر بترتيبهم الحالي (بنفس الترتيب الي المفترض يخرجوا بيه) 2- الـ top مش حصل ليه decrement ولكن احنا في البدايه عرفنا loop variable قيمته الابتدائية كانت مساويه لقيمة الـ top, بعد كده الـ loop variable هو الي بيتعمله decrement في كل loop وبالتالي فالـ top قيمته لم تتأثر بالـ display وبالتالي العناصر لم يتم حذفها من الاساس ولم نصل اصلاً للـ empty condition. والـ display كما وضحت سابقاً دورها فقط عرص العناصر دون حذف اي عنصر او الاخلال بترتيب العناصر
تمام ما انا شوفت الفيديو اللي قبله وحضرتك قولت ان ال stack زيه زي ال box وانا بحط جواه العناصر انا مش هقدر اوصل لل لل element ال هو top -1 غير لما اعمل pop ل top واعمل decrement لل top وهكذا، لكن لما انا عرفت اعمل access لكل ال elements واعملهم عرض وهما مكانهم زي ما هما يبقا كدة فرقت ف ايه ال stack لازم ع الاقل يبقا في array تاني انقل فيها ال elements واعرضهم لكن مينفعش اوصل لل element اللي ف index 0 ف stack!
@@megacodeyt طب ما ايه المانع انه كنت عملت function ال peak يقرالي كل العناصر بقا مش بس عنصر ال top بس!؟ انا بصراحة شايف الكلام متناقض كشرح لفكرة ال stack والصندوق وحتى قراءة ال elements مرفوضة بالنسبالي لان الوصول ليها لا يمكن الا لل top element وعشان اقرا اللي بعده decrement وبرضو محذفش العناصر هيكون عند طريق وضع اللي بعمله pop في new stack لكن اللي حصل ده بالنسبالي هو كسر لل logic نفسه اللي اتشرح ف الفيديو اللي حضرتك بعت اللينك بتاعه وشكراً لحسن استماعك
العفو ,انا متفهم جداً شعور اللخبطه الي عندك بسبب ما تسميه بتناقض الافكاربس خليني اوضحلك عدة نقاط سريعه في البداية الـ stack فكرته الاساسيه جايه من اسمه وهو ان في عناصر فوق بعض زي ما وضحت في الفيديو الاول وان التعامل معاه بيكون من جهه واحده فقط بمعني اقدر اخرج او ادخل العناصر فيه من جهة واحدة بس ده بينطبق في حالة الـ push و الـ pop في حالة الـ peek بيكون بس مجرد داله علشان اعرف فقط ايه العنصر الي عليه الدور في الخروج بحيث ممكن استخدمه في عمليات حسابية او validation مثلاً احدد اذا كان فعلاً مسموح له بالخروج اولا ولكن انا بس بعرف العنصر الي عليه الدور فقط ولكن مش بخرجه بشكل فعلي في حالة الـ display بقي تقدر تعتبر انه عباره عن ان انا عايز اعرف بس ترتيب العناصر المتواجده عندي مش اكتر يعني في الـ display انا بس عايز اعرف العناصر الي عندي ولو هيخرجوا ترتيبهم هيكون ازاي نقدر نعتبر ان ده اشبه بالـ box الي فيه الكتب مثلاً بس مصنوع من الزجاج بحيث اقدر اشوف الي جواه لكن مقدرش اخرجهم فعلياً الا من الفتحه المخصصه لده بترتيب دخولهم طبعاً ده مش افضل تشبيه ولكن نقدر نعتبر ان ده الي بيحصل بشكل فعلي في الـ dispaly لان كل الي بعمله ان انا بشوف العناصر الي موجوده بدون ما اخرج اي عنصر في النهاية فكرة الـ stack بشكل عام تضمن عمليتين اساسيتين وهما الـ push والـ pop فقط واي عمليات تانيه زي الـ peek او الـ display فهما عمليات مساعده مش اكتر تقدر تستخدمهم علشان يساعدوك في البرنامج بتاعك فقط لكن مش لهم تأثير علي الـ stack وعناصره. انصحك وبشده وعلشان تقلل اللخبطه الي عندك انك تقرأ عن الـ stack من كتب اكاديمية وأنك تطبق الكود بنفسك ده هيساعدك كبير لفهم الموضوع بشكل افضل.
@@megacodeyt شكراً لشرحك المفيد واهتمامك .. أنا فعلاً بذاكر وكتبت الكود ولقيته مجابليش نفس النواتج .. بعد اول display فضل يقولي stack is empty سواء بعد تجربة خطوة ال pop او ال peak
انا شفت تقريبا كل كورسات الداتا استركشر بصراحة انت في حتة تانية خالص ماشاء الله عليك اسلوب سهل وجميل جدا راي المتواضع لو عملت اكثر من كورس انت هتكون رقم واحد في في وقت قليل جدا بالتوفيق ياباشمهندس
شكرا ليك
شهادة افتخر بها
وان شاء الله في حجات بيتم التحضير لها قريب بإذن الله
2:20 Define array size
4:34 Push Funtion
7:17 Pop Funtion
11:11 Peek Function
13:32 Display Function
16:41 Testing and Summary
انصحكم تتابعوه شرح ماشاء الله افضل من الدكتره
الله يبارك عليك شرح واضح و بارك الله فيك و ربي يكون ف عونك
جزاك الله خير الجزاء ..حرفيا شفت اكتر من ١٠ فيديوهات وماكنت افهم بس الحمدلله هلاء لحتى فهمت 🌸
مش عارفه اوصف الشرح بصراحة فوق الممتاز
ما شاء الله شرح ممتاز مش عارف ليه في الجامعة عندنا بيستخدموا ال stack with pointer مع ان دا اسهل واحسن
شكرا ليك علي مجهودك
ماشاء الله عليك طريقه جميله لشرح بتمنى انك تستمر
بسم الله ماشاء الله أنا فخووووووووووووووورة بيك جدا
ما شاء الله ربنا يزيدك علم وفهم وينفعك بعلمك ... رائع وفقك الله لكل خير
لو فيه نفس الفيديوهات دى بس لل c تبقي عظمه ي هندسة❤❤
الله يبارك في حضرتك ى بشمهندس
بجد شرح حضرتك كويس جدا
شكرا لحضرتك علي مجهودك واتمني ان حضرتك ترجع تنزل فديوهات شرح تانية
ماشاء الله شرح مبسط ومفهوم وواقعي مشكور
شرحك ممتاز شكرا ليك 💜🤝🏼🤝🏼💜🇱🇾🇱🇾
شكرا لحضرتك .. اتمني لك كل التوففيق
انت فديوهاتك جميله اوى
جزاك الله خيرا
أكيد الفيديو عجبني وشرحك تحفه فوق الخيال
عالمي بجد ربنا يوفقك
فخم فخم فخم فخامه❤
عاش جدا ي هندسة
اكاد من فرط الجمال اذوب✌💙
متشكرين جدا ربنا يوفقك ويزيدك من فضله
Amazing way of teach,🤩
الله يباركلك يا هندسة
احلي شرح ع اليوتيوب
Excellent explanation and very simple God bless you continue engineer
فنان افضل شرح بلحياة
ربنا يباركلك❤
اهنيك انت افضل من المدرس تبعنا
عظيم جداً تسلم ايدك ❤❤❤❤
ماشاء الله عليك والله ماقصرتش في حاجه .
عاوزين algorithms بعد اذنك ربنا يباركلك
بارك الله فيك وجعله الله في ميزان حسناتك 💚
يا ريت لو في شرح بالبايثون شرحك رائع يعطيك العافيه
جزاك الله خيرًا ♥️
والله العظيم عالمي
انت عظيم بجد
ربنا يوفقك يا هندسه
شكرا وبارك الله فيك 🤍🤍
شرح سهل ومفهوم عاشت ايدك
بارك الله فيك
شكرا شكر اشكرا شكرا شكرا من هنا لحد طنطا ♥♥♥♥♥♥♥♥♥♥♥♥
جزاك الله خيرا
best video about stack, thanks alot ♥👌
الله يجزيك الف خير .. شكررا
ايه الجمال ده
برنس كبير اوي اوي والله ♥️⚡
عظمة بصراحة ♥️🔥
thanks alot best video everrr
شرح رااائع شكراااا
ممتاز جدا بس ياريت تشرحه كمان ب java
شكرا من كل قلبي✔💯
شكرا من القلب
يسطاااااا كمل شرح
شرحك جامد
AMAZING, as always
هو لما بنشغل الدالة pop هي بتخلي top يشاور علي العنصر اللي بعد كدا بس هو بيغضل في ال memory ?
مظبوط العنصر بيفضل فعلاً في الميموري بس مجازاً نقدر نقول انه اتمسح لانه خرج برا نطاق الـstack
حتي لو حبيت بعد كده تعمل push فهيبدء يضيف العنصر الجديد مكانه او بمعني تاني هيغير قيمته للقيمة الجديدة ويكأنه مش موجود من الأساس
في حالات تقدر تمسح بيها العنصر أصلا بأنك تخلي قيمته بصفر, بس الطريقة ديه تعتبر خطوة زيادة ملهاش لازمة علي الإطلاق
يبشمهندس لو سمحت ازاي ااقدر اربط الbasicالي اتعلمتها فسنه اولي مع data structureبتاعت نفس اللغه
ازاي اربطهم ببعض؟
الـ data structure تعتبر مفهوم او فكرة بتتعلمها بتوسعلك مداركك وبتفهمك اللغة وطريقة استخدامها اكتر
وبالتالي انت محتاج انك تطبق المفاهيم والافكار دي في حاجه بشكل عملي وعلشان تعمل كده هتعمل برنامج له فكره تقدر من خلالها تطبق الافكار الي اتعلمتها باستخدام اساسيات اللغة
من ضمن الافكار مثلا علي الـ stack لعبة اسمها Towers Of Hanoi
وبالنسبة مثلاً للـ queue فممكن تعمل اي نظام حجز زي نظام عيادة مثلاً
اهم حاجه انك تطبق الي اتعلمته في برنامج حقيقي مش مجرد تطبيق مباشر
@@megacodeyt تمام يبشمهندس ممكن افكار اطبقها تاني او موقع اجيب من عليه
الله يسعدك
لم يتنفذ عندي ال pop وين الخطأ ؟
فين الكود
شكرا جزيلا
يادكتور الو اشتي ااوجد اعلا قيمة
او ابحث علا عنصر معين
كيف افعل
ممكن اعرف ويش هو البرنامج اللذي تستخدمه بكتابة الاكواد؟
لان انا استخدم برنامج code blocks هو ثقيل جدا ودايما بيعطل عليا؟
بستخدم visual studio
انا مش فاهم هو بيرجع قيمة اللي اتحذف ليه انا فهمت انه بيقلل ال توب ١ عشان يبقي التوب الجديد
تقريبا انا مش فاهم دالة ال return بتعمل ايه
هل في معك شرح التحويل من infix to perfix عن طريق الاستاك ارسلي رابط الفيديو
بعد الـ POP العرض حيكون 10 و 5 ، ليس 10 و 15 ، هل صحيح ؟
دلوقتى ال top بعد انتهاء ال function الواحد اللى اضفته عليها جوة ال function بيروح وبترجع ال function اللى بعدها تاخد قيمة ال top من ال-1 الاولانية ..... ولما عرفت ال top على انها static فى الاول بردو الموضوع فضل زى ما هو الحل
ولا انا اللى مش عارف انفذ
المفترض انك بتعرف الـ top كـ global variable
بحيث كل الـ functions تقدر تعدل عليه ويفضل محتفظ بقيمته بعد انتهاء تنفيذ الـ function
ركز مع الفيديو وهيظبط معاك أكيد
طيب ازاى هيفضل محتفظ بقيمته وال function بتعمله call by value حتى وهو global variable
ال global variable ملوش علاقه بال function لانه متعرف براها اصلا، ومش هتفرق انت عملتله call by value او call by reference
هي بتفرق بس لو انت باعته لل function ك parameter اما لو global variable فبتعدل عليه علطول وبيفضل محتفظ بالقيمه.
شكرا عالشرح لكن في خطأ التابع() pop يعيد قيمة لايجوز استدعائه باسمه فقط.. أين ذهبت القيمة المعادة؟؟؟؟؟؟؟؟؟؟
عاوزه اخد كورس مع حضرتك
يا هندسة لما اجي اعرف ال size واحطها في الاراي بيديني ايرور مش عارف ليه
يبشهندس هو ليه الpush عملتهاvoid وباقي الدوال مش void
الـ push و الـ display من نوع void لانهم مش بيرجعوا قيمة
اما الـ pop والـ peek من نوع int لانهم بيرجعوا قيمة integer
كيف اسوي اثنين stack و اقارن بين اعلى قيمه فيهم؟
write c++ program to remove
duplicates from stack
لو ممكن حل هذا السؤال
هذا كود ثابت هل يتغير
السلسلة هتخلص امتى يبشمهندس ؟
للاسف مفيش ميعاد محدد بس انا بحاول اعمل الفيديوهات في كل فرصة ممكنة.
شرح رائع بجد ربنا يوفقك ♥ بس كان عندي سؤال هو احنا ليه استعملنا ماكرو مدخلناش الرقم عادي؟
علشان نقدر نستعمله بعد كده في باقي الكود كمرجع مش اكتر ويكون اسهل لو حبيت تعدله
ولكن تقدر تكتب الرقم علطول بس لو غيرته هتحتاج تغيره بعد كده في باقي الكود
@@megacodeyt طب هو مينفعش اخلي اليوزر هو اللي يدخل الحجم؟
ينفع بس الـ array مينفعش تعملها بعد كده تحدد قيمتها الا إذا عرفتها كـ pointer الاول بعد كده تخلي البوينتر يشاور علي array جديدة.
@@megacodeyt تمام شكرا جدا
العفو، الشكر لله
السلام عليكم ممكن تفهمني ماهو عمل او فائدة Rutren
الreturn هو امر يأتي بعده في الأغلب قيمة وهو يقوم بإرجاع هذة القيمة عند استدعاء الدالة
وإذا لم ياتي بعده اي قيمه فهو يكون بمثابة الbreak في الloop فيقوم بايقاف عمل الداله
وحضرتك هتشرح Data Structure بس ولا Algorithms كمان ؟!
هو في نيه ان شاء الله لشرح algorithms بس بعد الكورس ده ما يخلص الاول
ما اسم البرنامج الي تستخدمة بلفديو
visual studio
بش مهندس انا باحاول اجرب الكود بالضبط بيطلعلى بدل ما يطبع العناصر كلها بيطبعها باصفار ليه مع أنه نفس الكود بالضبط ونفس العناصر بالضبط وفاهمه كل خطوه وبيطبعلى اصفار ليه ؟
أولاً المفروض الصح انه أول display تطلع النواتج بس بعد كده هتبقا ال stack empty ليه؟ عشان ال display بت act like pop بالظبط لكن ب for loop
لماذا عرفت pop و peek ع أنهما متغير وليس دوال ولماذا أعمل ل peek دالة cout لانه من دون cout لا تظهر لماذا
انا بالفعل قمت بتعريفهم علي انهم دوال وليسوا متغيرات
وبالنسبة لسؤالك الثاني، فالدالة لا تقوم بطباعة القيمة بل تقوم بارجاعها وبالتالي نحتاج ان نطبع القيمة التي تقوم بارجاعها اولا كي تظهر لنا القيمة
هو انا مش فاهم اوي اية الفرق بين ال function اللي اسمها display و ال function اللي اسمها pop
Display
بتعرض العناصر بنفس ترتيب خروجهم ولكن مفيش حاجه بتتغير فعليا ، هي مجرد بتعرض بس
Pop
بترجع العنصر الي عليه الدور انه يخرج لكن الفرق انها بتخرجه فعلا لانها بتعدل علي قيمة الtop
لو حابب تفهم الجزئية ديه كويس شوف الفيديو الي قبل ده
شرحت فيه الstack بشكل نظري
وحاول برضو تشوف الفيديو ده كمان مرة لاني شرحت الجزئية ديه وتابع الجزء الي بيظهر جنب الكود وركز فيه
ولو في اي سؤال تاني او جزئية مش مفهومة ممكن اوضحهالك
فهمت يعني ال function اللي اسمها pop هي وظيفتها انها تخذف العنصر اللي ال top بيشاور عليه و لو فضلت اعمل pop كذا مرة ال top ينقص واحد و تقوم ال function تحذف القيمة الجديدة اللي ال top بيشاور عليها .....صح كدة ؟
اه كده صح
الpop وظيفتها تحذف العنصر الي بيشاور عليه الtop
بعد كده تنقص الtop بواحد
المحتوى اسطوري وجوده الانميشن والصوت اسطوريه احسن من دكاتره الجامعه المحنكين اللي عندنا بيسجلو بمايك اللابتوب وحاطينه في البلعوم وبيتكلموا وبيصورو ببرامج تصوير شاشه نسخه تجريبيه وحالتهم كرب هههههههه😂
اهنيك والله يا مبدع ليك مستقبل باهر انشاءالله استمررررررررررر😊❤❤😍
لو تشوف دكاترة الجامعه عندنا يسطا حاتشكر ربنا انا عندكم دكاترة وتشرح وتبدل ف جهد اصلا
احنى ما بيجعوش راسهم اصلا يعطيك المنهج ويقولك توكل على ربنا شوف من يشرحلك
@@libyabasher3874 ههههههههههه ياخي وانا اللي كنت ساخط عليهم اما بيشرحوا ربع المقرر بس ربنا ينتقم منهم. اهو كويس بيشرحو حاجه😂😂 ربنا ينتقم منهم ياخي والله 4 سنين من العمر على ورقة واسم في البطاقة مهندس برمجيات هههههههه ولا في شرح ولا في برمجة اصلا😂😂
@@m7mdabohashem 😂😂 وللاسف ده السبب يلي خلا العالم يوصفنا ب شعوب العالم التالت.
لو كل واحد يتقي ربنا ويعمل الشي يلي مطلوب منه على اكمل وجه ..كان من زمااااان
وصلنا القمر وصنعنا السفن والسيارات والطائرات ...
دكاترة واساتذه على الورق بس بيجي الجامعه مش عاوز يعمل حاجه غير انو يجلس على الكرسي ويقرى الشيت وكأنها مادة لغة عربية مش تراكيب بيانات ولا لغة جافا عاوزه شرح وتمارين وجهد كبير
@@libyabasher3874 الله يهديهم بس ما بيدنا شيء غير نحاول نطور نفسنا بنفسنا من اليوتيوب والهندوس عباد البقر
لما يابشمهندس أنا مقدرش أتعمل مع ال elements of array اللي جوه ال stack غير مع ال top element ف ازاي هعرف أعمله display واحرك ال top اللي كان بيشاور ومستني إنهم يتعرضوا فقط وميتمسحهوش
there is no logic in this tbh
السلام عليكم,
اعتقد انت عندك لبس كبير في فهم فكرة عمل الـ stack
وانصحك وبشده في البدايه تتفرج علي اول فيديو عملته عن الـ stack كنت شرحت فيه الفكره العامه وفكرة كل داله علي حدى.
رابط الفيديو : th-cam.com/video/rYMuP7e-8CM/w-d-xo.html
وكرد سريع علي سؤالك فانا فعلاً بتعامل مع العناصر من خلال الـ top
لكن في حالة العرض ولو ركزت في الفيديو انا مش بحرك الـ top نفسه وانما بيكون في loop variable (i) قيمته الابتدائيه بتكون نفس قيمة الـ top وهو الي بيدء يتناقص في كل loop بحيث اقدر اعرض العناصر المتواجدة في الـ stack بدون ما يتم حذفها.
في منهج الجامعة موجود push , pop , empty , reset , full
انا في القناة بشرح بدون الالتزام بمنهج محدد لاحد الجامعات
بس ليه ماشرحت is empty والis Full
يبش مهندس!!
ممكن لينك الكود اللي كتبته يا بشمهندس لو علي github
بعمل نفس الشغل بس باجي اعمل run كلو بيبقي اصفار مش عارف ليه؟؟
لو اصفار فغالبا انت مغيرتش القيمه اصلا فبيعرض القيمه الافتراضيه للarray وهي الصفر
فاعل خير : الكود مرضيش يشتغل عندي بسبب ال pop & peek فده بسبب ان القيمة المخرجة منهم (int) فبالتالي انت لازم تخرج قيمة من ال funtion فلو نفزت الشرط if حينها مش هيخرج قيمة int لكن هتخرج بس رسالة طباعة النص اللي انت كتبوا ..... المشكلة هتظهرلك في ال terminal ب
'control reaches end of non-void function'
بالاخير حل المشكلة بكل بساطة انك تضع بعد جملة طباعة النص اللي في if condation 'return false' في ال pop , peek
هاد الكود المصحح
int pop(){
if(top==-1){cout
اشرح ستاک في جافا😔
احتاج اتواصل معاك خاص بشكل ضروري جداً ارجو الاستجابه
تقدر تتواصل من خلال حسابتنا علي وسائل التواصل الاجتماعي المختلفة
💙💛
code please??
الكلام ده المفروض مش مظبوط يا بشمهندس أو فيه حاجة غلط ﻷن المفروض ال stack أول ما يتعمله display ال top فضل يحصله decrement لحد ما وصل لل empty condition ف من المفترض إنه بعد أول display ال stack يفضى كاملاً وتدخل فيه عناصر جديد عشان تقدر تعمل pop لو حاب تعمل .. ال display في حالة ال stack based on array بتبقا عاملة زي ال delete All كده بالظبط
الفكره ببساطه تكمن في فهم فكر دالة الـ display ووظيفتها
1- الـ display ما هي الا داله مهمتها فقط عرض العناصر بترتيبهم الحالي (بنفس الترتيب الي المفترض يخرجوا بيه)
2- الـ top مش حصل ليه decrement ولكن احنا في البدايه عرفنا loop variable قيمته الابتدائية كانت مساويه لقيمة الـ top, بعد كده الـ loop variable هو الي بيتعمله decrement في كل loop
وبالتالي فالـ top قيمته لم تتأثر بالـ display وبالتالي العناصر لم يتم حذفها من الاساس ولم نصل اصلاً للـ empty condition.
والـ display كما وضحت سابقاً دورها فقط عرص العناصر دون حذف اي عنصر او الاخلال بترتيب العناصر
تمام ما انا شوفت الفيديو اللي قبله وحضرتك قولت ان ال stack زيه زي ال box وانا بحط جواه العناصر انا مش هقدر اوصل لل لل element ال هو top -1 غير لما اعمل pop ل top واعمل decrement لل top وهكذا، لكن لما انا عرفت اعمل access لكل ال elements واعملهم عرض وهما مكانهم زي ما هما يبقا كدة فرقت ف ايه ال stack لازم ع الاقل يبقا في array تاني انقل فيها ال elements واعرضهم لكن مينفعش اوصل لل element اللي ف index 0 ف stack!
@@megacodeyt طب ما ايه المانع انه كنت عملت function ال peak يقرالي كل العناصر بقا مش بس عنصر ال top بس!؟ انا بصراحة شايف الكلام متناقض كشرح لفكرة ال stack والصندوق وحتى قراءة ال elements مرفوضة بالنسبالي لان الوصول ليها لا يمكن الا لل top element وعشان اقرا اللي بعده decrement وبرضو محذفش العناصر هيكون عند طريق وضع اللي بعمله pop في new stack لكن اللي حصل ده بالنسبالي هو كسر لل logic نفسه اللي اتشرح ف الفيديو اللي حضرتك بعت اللينك بتاعه وشكراً لحسن استماعك
العفو ,انا متفهم جداً شعور اللخبطه الي عندك بسبب ما تسميه بتناقض الافكاربس خليني اوضحلك عدة نقاط سريعه
في البداية الـ stack فكرته الاساسيه جايه من اسمه وهو ان في عناصر فوق بعض زي ما وضحت في الفيديو الاول
وان التعامل معاه بيكون من جهه واحده فقط بمعني اقدر اخرج او ادخل العناصر فيه من جهة واحدة بس
ده بينطبق في حالة الـ push و الـ pop
في حالة الـ peek بيكون بس مجرد داله علشان اعرف فقط ايه العنصر الي عليه الدور في الخروج بحيث ممكن استخدمه في عمليات حسابية او validation مثلاً احدد اذا كان فعلاً مسموح له بالخروج اولا
ولكن انا بس بعرف العنصر الي عليه الدور فقط ولكن مش بخرجه بشكل فعلي
في حالة الـ display بقي تقدر تعتبر انه عباره عن ان انا عايز اعرف بس ترتيب العناصر المتواجده عندي مش اكتر
يعني في الـ display انا بس عايز اعرف العناصر الي عندي ولو هيخرجوا ترتيبهم هيكون ازاي
نقدر نعتبر ان ده اشبه بالـ box الي فيه الكتب مثلاً بس مصنوع من الزجاج بحيث اقدر اشوف الي جواه
لكن مقدرش اخرجهم فعلياً الا من الفتحه المخصصه لده بترتيب دخولهم
طبعاً ده مش افضل تشبيه ولكن نقدر نعتبر ان ده الي بيحصل بشكل فعلي في الـ dispaly لان كل الي بعمله ان انا بشوف العناصر الي موجوده بدون ما اخرج اي عنصر
في النهاية فكرة الـ stack بشكل عام تضمن عمليتين اساسيتين وهما الـ push والـ pop فقط
واي عمليات تانيه زي الـ peek او الـ display فهما عمليات مساعده مش اكتر تقدر تستخدمهم علشان يساعدوك في البرنامج بتاعك فقط لكن مش لهم تأثير علي الـ stack وعناصره.
انصحك وبشده وعلشان تقلل اللخبطه الي عندك انك تقرأ عن الـ stack من كتب اكاديمية وأنك تطبق الكود بنفسك ده هيساعدك كبير لفهم الموضوع بشكل افضل.
@@megacodeyt شكراً لشرحك المفيد واهتمامك .. أنا فعلاً بذاكر وكتبت الكود ولقيته مجابليش نفس النواتج .. بعد اول display فضل يقولي stack is empty سواء بعد تجربة خطوة ال pop او ال peak