الأربعاء، 4 فبراير 2009

How To Use "Eclipse" In ACM Contests

. الأربعاء، 4 فبراير 2009



دى تعتبر أول مرة أكتب على المدونة حاجة تخص المجال بتاعى

يمكن الموضوع ده مش هيبقى مفيد غير للناس اللى هيشتركوا فى مسابقات ال ACM
لكن دى أول خطوة فى طريقى لكتابة مقالات عن ال Open Source و ال ACM

وان شاء الله اللى مش هيستفيد المرة دى هيستفيد المرة الجاية :D

انا فاكر أول مرة ندخل فيها مسابقة ACM كانت ال Local بتاع الكلية ... وكانت أول مرة لمعظم المشتركين يستخدموا فيها برنامج Eclipse ... وطبعا أغلبنا واجه صعوبات كتيرة جدا فى التعامل مع البرنامج والتعامل مع متطلبات المسابقة زى اننا المفروض نقرا من فايل ويكون اسم الفايل حاجة معينة والحاجات الغلسة دى

يمكن دى كانت أول مرة أحس فعلا قد ايه سياسة ميكروسوفت خنيقة جدا .... وان احنا محبوسين جوه سجن اسمه ميكروسوفت وبرامجها (مع اننا سارقين البرامج دى كلها :D) لكن فعلا كان عندنا رهبة كبيرة من التعامل مع أى حاجة بعيدا عن ميكروسوفت

احنا هنا ان شاء الله هنشرح بالصور كيفية التعامل مع برنامج
Eclipse جوه المسابقة و هنشوف أغلب المشاكل اللى قابلتنا وحلول ليها وكمان ازاى نقرا من فايل بصورة سهلة وبسيطة ... وهنبدأ من الصفر


ملحوظة : الصور مصغرة لكن لو عايز تشوفها كبيرة (وأكيد هتحتاج تشوفها كبيرة دوس عليها)
أول خطوة نعمل project جديد





ثانى خطوة نكتب اسم الProject أى حاجة احنا نختارها وفى الصورة احنا كتبنا "ACM" وفى ال Project Type نختارHello World C++ Project وبعدين ندوس Finish




وبكده اكون عملت project جديد أقدر اكتب فيه الكود اللى انا عايزه ولازم اخلى بالى من حاجتين أنى لما اكتب الكود أعمل Build الاول وبعدين أعمل Run




كان فى Error دايما بيطلعلنا وكانوا بيقولنا اعملوا project جديد علشان ال Error يروح وده كان شكل ال Error



المشكلة دى بيبقى سببها ان انته بتبقى عامل Run للكود كذا مرة ورا بعض علشان كده لازم تقفل كل ال EXE اللى اتفتحت وتخلى واحدة بس
وفى طريقتين نعمل بيهم ده ... الاسهل فيهم هى الطريقة اللى جاية

هنلاقى على اليمين خالص فوق كلمة Debug ندوس عليها



طبعا ملاحظين فى الصورة اللى تحت دى اننا مشغلين حوالى 4 EXE مع بعض يبقى الحل اننا ن Select ال EXE وبعدين ندوس على علامة Stop الحمرا اللى فوق ونوقف كل ال EXEهات وبعدين نعمل Build وبعدين Run تانى ومش هيبقى فى مشاكل خالص



طبعا فى مسابقات ال ACM بيبقى لازم تقرا ال Input من فايل ... وكان فى طرق كتيرة أوى للموضوع ده وكل الطرق مملة وغلسة جدا ... انما الطريقة اللى احنا هنقولها أسهل واحدة فيهم ... ومفيش فيها أى صعوبة

أول حاجة احنا لازم نعمل فايل جديد نكتب فيه ال Input



وبعدين نسمى الفايل ده زى ما هو قايلى فى المسألة وندى الفايل امتداد .... فى مسابقات ال ACM بيقولك اعمل الامتداد .in لكن احنا لو مش فى ال ACM ممكن نعملها .txt او .text عادى زى ما نحب



ونقدر نفتح الفايل كده زى ما فى الصورة دى ونكتب فيه واحنا جوه الاكليبس من غير ما نضطر اننا نتعامل مع الويندوز خالص او اننا نروح ل path معين ونقعد نتلخبط .... لأن بالطريقة دى الفايل بيتعمل فى ال Path اللى المفروض يكون فيه


وفى النهاية هيكون عندنا الكود زى ما احنا شايفين
طبعا علشان نحل مشكلة القراية من file خدوا الحل السحرى ده اكتب فى أول الكود بتاعك بعد اما تكتب int main () السطر ده
freopen ("FileName.in","r",stdin);

بس طبعا بعد اما تكون عامل الفايل .... وخلى بالك لازم تكتب اسم الفايل اللى بتاخد فيه الانبوت صح ومتناس الامتداد



أخر حاجة بقى علشان منساش ان ال console فى ال Eclipse اولا لونه أبيض وثانيا بيبقى موجود تحت جنب ال Problems

وطبعا احنا ملاحظين فى الصورة ان الانبوت مش ظاهر لأن البرنامج قرا الانبوت من الفايل اللى احنا عاملينه




اللى عنده أى سؤال يسألة واللى واجهته أى مشكلة غير اللى فوق دول يقول وان شاء الله نشوف الحل
وانا هحاول ان شاء الله أعمل برضه ازاى نتعامل مع برنامج PC2



ودى شوية Shortcuts لل Eclipse

  • Ctrl + B Build
  • Ctrl + F11 Run
  • Ctrl + Space Auto Complete

واللى عايز ينزل نسخة ال Eclipse الملعوب فيها ينزلها من هنا

41 التعليقات:

غير معرف يقول...

لا بجد تمام اوى ياخوليو وجزاك الله كل خير وبجد البرنامج ده واجهنا فيه صعوبات كتيرة اوى بس الحمد لله

yasser ashour يقول...

ابقى خللي ال acm ينفعك يا خوليو
الحاجات دي ما بقتش تأكل عيش :p
وريني هتتجوز امتى :D:D:D

Unknown يقول...

ما انا عمرى ما هتجوز طول ما انا معتمد عليك وعلى رجالتك :D

وبالنسبة بقى لأكل العيش ... امال اللى كنا بناكله فى اسكندرية بسبب ال ACM ده كان ايه :D

MBlack13 يقول...

bgd thnx awiii ya 5olio bgd y3niii :D fara2et gamed awiii..gazak Allah kol 5eer w Rbena ywf2na kolena in sha2 Allah

Sarah Monem يقول...

جزاكم الله خيرا
أنا كنت فعلا شايلة هم الحاجات دي
بس الحمد طلعت سهلة

Unknown يقول...

شكرا يا خوليو
وربنا يوفقك أكثر في ال ِAcm
إن شاء الله
بس كان عندي اقتراح لوعملت الموضوع ده في pdf ورفقته بالموضوع علشان يبقى دايما معانا لو ربنا أراد وكملنا في contest AcM
وجزاك الله كل خير

kate

غير معرف يقول...

m3lsh ya a5 5olio 3ndy so2al mo7rg
lw la 2dr allh kont m7tga atl3 elinput tany a3ml a :D:D:D
yarb mattl3sh 7aga tafha 3shan elksafa

Unknown يقول...

@bosbos

دكتور عمر عثمان دايما كان يقولنا مفيش حاجةاسمها سؤال غبى وسؤال ذكى .... أى سؤال اسأليه مهما كان السؤال ده كان تافه بالنسبة ليكى ... انتى متعرفيش ممكن يكون مهم قد ايه

ولو عايزة تظهرى الاتبوت
اعملى للبرنامج STop وبعدين اعمليله Run تانى بعد اما تغيرى الانبوت

غير معرف يقول...

Thxxx awy ya 5olio bgd Rabena yekrmk isA we rabena ma3na kolna isA we Thxx again :)

غير معرف يقول...

thanks ana lsa kariah 7aln bs msa ana lsa kont hadwr 3ala war2 bta3 elfiles w el7dl eny karat da abl madwr gazak allah kol khar
bs men el"r" de?????????????? w thanks again

Unknown يقول...

ال "r" معناها read
وال stdin معناها standerd input المقصود بيها cin وكده يعنى

وشكرا لتكنو لأنه هو اللى فكرنى انا كنت ناسيها خالص

غير معرف يقول...

مستر خوليو الsetup مش بيشتغل دا اولا
ثانيا انا مااقصدش كدا
يعني مثلن لة input 5&5 وeloutput
10
وعايزة اللي يظهر لليوزر نفس اللي دخلوا مع output
5+5=10
اعمل اي واصلن الاoutput ف فايل تاني
انا حاسة انا حاجة بسيطة بس عشان مش اششتغلتش عليه قبل كدا قلقانة منو :D

Unknown يقول...

بصى هو أصلا نسخة الاكليبس اللى انا منزلها مش محتاجة setup

بصراحة انا حاسس انى مش فاهم سؤالك خالص
بس لو عايزة تظهرى الانبوت مع الاتبوت

انتى مثلا خدتى الانبوت فى فاريبل اسمه x

اعملى cout << x;

غير معرف يقول...

يبقى مش راضية تشتغل

Sarah Monem يقول...

هو مافيش طريقة سحرية زي دي نقرأ بيها ال input من file لل visual studio؟

Unknown يقول...

بصى هو سطر ال freopen مش بس للاكليبس
ده أصلا كود c++

لو انتى عايزة تعملى نفس الحركة فى الفيجوال ستوديو
اعملى فايل عادى فى اى مكان ولنفترض انه مثلا فى الديسكتوب

وبعدين فى جملة ال freopen فى اول مكان بدل ما تكتبى اسم الفايل بس اكتبى ال path كامل
يعنى مثلا لو احنا حطينا الملف فى الديسكتوب انا عندى ال path كده
C:\Documents and Settings\5olio\Desktop\ACM.txt
يبقى جملة freopen هتتكتب كده
freopen ("C:\Documents and Settings\5olio\Desktop\ACM.txt","r",stdin);

غير معرف يقول...

بسم الله الرحمن الرحيم


أولا احب أشكر صاحب الموضوع شكر جزيلا
fci pioneers
fci pioneers حملة طلابية بكلية حاسبات ومعلومات الزقازيق والتى من ضمن انشطتهاالاشتراك في مسابقة acm ونرجو من سيادتكمالافادة على المنتدى www.fci4all.com

غير معرف يقول...

لييه لما بعمل new project c++ l بيعتبره انه c مش c++ l

http://img200.imageshack.us/img200/8409/eclipseu.png

Unknown يقول...

العربى على الانجليزى بيعمل مشكلة فى المدونة
بس هحاول أعدلها ان شاء الله أدعولى كده


أعتقد أنك محتاج تسطب الملفين دول

http://www.fileden.com/files/2008/6/30/1983285/MinGW%20And%20MSYS.zip

Unknown يقول...

الحمدلله حليت المشكلة

اللى سأل(ت) ده(دى) وشه(ا) حلو عليا, شكرا جزيلا يا اللى سألت(ى)

غير معرف يقول...

لما نزلت الملف ده في نفس المكان , تمام بقيت بشتغل ب c++ l بس لسه في مشكله و وده اللي بيظهر

http://img171.imageshack.us/img171/6218/eclipse.png

Unknown يقول...

جرب تعمل Build الأول وبعدين Run

لو منفعش, جرب تعمل Project جديد وبعدين Build الأول

لو منفعش قولى النسخة اللى انته مسطبها علشان أجرب عندى أنا كمان.

غير معرف يقول...

النسخه الي انته حاططهها هنا و زوت ال file اللي قلت في ننفس ال folder و عملت setup ليه و بعد كده شغالت ال eclipse من ال file الicon بتاعه موف ده بس كده

موضوع ال build , كده زي ما انت قايل و برده مش شغال

المشكله ان هو معترض علي ال iostream و ال stdio.h هو مش شايف ال libs ده خالص

غير معرف يقول...

و كمان رجعت مشكله ال c project مش عايز يعمل c++l

Unknown يقول...

طيب انته كان عندك نسخة Eclipse قبل دى ونزلت الاتنين مع بعض ؟؟؟

غير معرف يقول...

لأ نزلت النسخه ده من 3 أيام تقريبا من هنا

Unknown يقول...

أصل أنا عندى نفس المشكلة لأنى عندى كذا نسخة من الاكليبس, هشيلهم كلهم وانزل واحدة بس وهشوف كده وأرد عليك

Unknown يقول...

طيب جرب بقى تسط الملفين اللى انا قلت عليهم دول فى ال C مش جنب ال Eclipse.

وتأكد أن مفيش غير نسخة Eclipse واحدة فى الجهاز, وتأكد أن مفيش غير Workspace واحدة برضه,
وتأكد ان مفيش غير نسخة واحدة من ال MinGW-5.1.4 على الجهاز.

وأن شاء الله هيشتغل, أنا كان عندى بيجيب نفس الرسالة ودلوقتى اشتغل.

لو مشتغلش قول نحاول تانى :D:D.

غير معرف يقول...

هو يعني ايه workspace
و انهي ملفين مش انت اصدك الملف ده MSYS.zip فين الملف التاني بقي

Unknown يقول...

أولا الملف اسمه MinGW And MSYS.zip
وده ملف مضغوط جواه حاجتين هما MSYS و MinGW والمفروض احنا بنسطب الاتنين, والأهم فيهم هو MinGW.

وال Workspace ده بيبقى اسم ال Folder اللى بتبقى فيه الProjects بتاعتك.

لما بتفتح ال Eclipse لأول مرة بيقولك اختار المكان اللى يكون فيه ال Workspace بتاعتك, فى الغالب لو عندك اكتر من Workspace بيكونوا جنب بعض فى نفس ال Path.


هو لحد دلوقتى لسه مش اشتغل ؟؟

غير معرف يقول...

لأ لسه في ممشاكل في تنزيل ال MinGw ده الله بيحصل

http://img36.imageshack.us/img36/87/eclipseg.png

في سؤال انت ليه بتقول ان لازم احط كل ال projects مع بغض في نفس ال path مش هو عادي زي ال VS

Unknown يقول...

طيب هو أنا تقريبا لما شلت كل حاجة وجيت أسطب ال MinGW جالى نفس المشكلة اللى عندك دى واشتغل عادى وعملت Cancel والموضوع اشتغل عادى.

هو أنا قلت كده امتى ؟؟

غير معرف يقول...

انا فهمت كده من هنا

" لما بتفتح ال Eclipse لأول مرة بيقولك اختار المكان اللى يكون فيه ال Workspace بتاعتك, فى الغالب لو عندك اكتر من Workspace بيكونوا جنب بعض فى نفس ال Path. "

AS you said

انا نزيلتهم تاني و بارده نفس المشاكل ( الc language and not know the libs


طب لو في نسخه تانيه من ال eclipse غير ده

Unknown يقول...

ممكن بقى النسخة دى

http://www.4shared.com/file/115794764/96032bee/Eclipse.html

بس أعتقد انها عندك

أو ممكن من موقع البرنامج

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-reporting-galileo-win32.zip&url=http://mirrors.med.harvard.edu/eclipse//technology/epp/downloads/release/galileo/R/eclipse-reporting-galileo-win32.zip&mirror_id=530

بس أنا حاسس انك عندك حاجة غلط لسه
اعمل search على الجهاز باستخدام البرنامج ده

http://www.voidtools.com/Everything-1.2.1.371.exe

ودور على كل حاجة ليها علاقة بالاكليبس وامسحها
وكل حاجة ليها علاقة بال MinGW وامسحها

وبعدين جرب تانى لو منفعش نزل نسخة ثانية وخلاص

يا رب يشتغل ده انا زهقتلك :D:D.

Unknown يقول...

وبالنسبة للى أنا قلته

أنا مكانش قصدى اللى فهمته من كلامى
أنا كان قصدى ان هو المفروض بيحط الحاجات دى فى ال workspace الا لو انته عملت حاجة غير كده, ومفيش مشاكل حطها فى أى حتة عادى, وأنا كان قصدى ان نمسح كل ال workspaces ونسيب واحد بس علشان ممكن نتلخبط كتير.

Sarah يقول...

حاجة غريبة D:
هو ليه كل مرة يحطّلي ال workspace في folder اسمه 5olio؟

Unknown يقول...

@ سارة :

احتلال بقى :D:D

أنا فاكر فى أول local أتعملّنا, كان ال workspaces كلها محطوطة فى TeCNoYoTTa, مع ان تكنو معملش حاجة معينة تخلى ده يحصل.

الفكرة كلها هى لما الواحد بينزل أكليبس جديد كده من على السايت بتاعه, وبعد أول مرة تفتحيه فيها, هو بيمﻷ كام xml file كده بيحط فيهم شوية بيانات كده, منهم اسم ال folder وال path اللى هو هيحط فيه ال workspace, طبعا بما ان ال eclipse برنامج مش بيتسطب, ولما احنا بنيجى نديه لبعض, بنديه لبعض بالأعدادت بتاعته.

تقدرى تدخلى على
eclipse/p2/org.eclipse.equinox.p2.director/rollback/content.xml

واعملى search على كلمة 5olio هتلاقى اسمى مكتوب فى أماكن كتير.

وعلى فكرة مش ده ال xml file الوحيد اللى فيه اسمى.
تقريبا كل ال xml files اللى موجودة فى ال folder اللى اسمه p2 فيها أسمى برضه :D.

غير معرف يقول...

السلام عليكم
جزاك الله خيرا على المقال

كان عندى سؤال
لو أنا بطلع الoutput بتاع البرنامج فى file
و عايزة أقارنه ب output file تانى,
هل فى برنامج أوطريقة أعمل بيها كده وللا أقارنه بنفسى؟؟

عزة

Unknown يقول...

@ عزة:

فى حاجات كتيرة منها http://kdiff3.sourceforge.net/

غير معرف يقول...

جزاك الله خيرا:)

عزة

غير معرف يقول...

ممكن تنزل لنا بعض الامثله

إرسال تعليق