• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

أحمد عصام

اعضاء جدد
  • عدد المشاركات

    37
  • تاريخ الانضمام

  • تاريخ اخر زياره

السمعه بالموقع

18 عادي

عن أحمد عصام

  • الرتبة
    عضو جديد
  • تاريخ الميلاد 09/10/1997

معلومات الملف الشخصي

  • الجنس ذكر
  • الدولة : مصر
  • اهتمامات gaming and programming

طرق الإتصال

  1. Graph Plotter problems

    كتبتهولك بس بمكتبة JavaFX عشان هيا اللي بعرف اتعامل معاها :D جرب غير في الثوابت وشوف بيشتغل ازاي package application; import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.layout.BorderPane; import javafx.scene.layout.Pane; import javafx.scene.shape.Polyline; public class Main extends Application { private final double WIDTH = 700; private final double HEIGHT = 700; private final double RADIUS = 300; private final double STEP = 0.01; private final double RADIUS_DROP_CONSTANT = 9; private final double MAX_THETA = Math.PI*10; @Override public void start(Stage primaryStage) { try { Pane root = new Pane(); Scene scene = new Scene(root,WIDTH,HEIGHT); root.getChildren().add(getSpiral()); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } private Polyline getSpiral() { Polyline spiral = new Polyline(); double centerX = WIDTH / 2; double centerY = HEIGHT / 2; for (double theta = 0; theta < MAX_THETA; theta += STEP) { double r = calculateRadius(theta); spiral.getPoints().addAll(centerX + r * Math.cos(theta), centerY + r * Math.sin(theta)); } return spiral; } private double calculateRadius(double theta) { return RADIUS - theta * RADIUS_DROP_CONSTANT; } public static void main(String[] args) { launch(args); } }  
  2. Graph Plotter problems

    تم حل المشكلة
  3. السلام عليكم انا شغال علي برنامج بيرسم دوال graph plotter المشاكل بقي موجودة لما تظهر المالانهايات :D http://i.imgur.com/990MnPi.png فكرة البرنامج بسيطة جدا .... بعوض في الدالة بقيم x عشان اجيب نقط اوصلهم ببعض بكثافة معينة ( في الحالة ديه بجيب نقطة لكل بيكسل علي محور x ) لو فيه نقطة من النقط ديه صدفة كانت القيمة المقابلة ليها ما لا نهاية الموضوع سهل وبتعامل مع الحالة :D http://i.imgur.com/LXYMbyv.png المشكلة طبعا انه مع دوال زي tan احتمال شبه معدوم انه نقطة من النقط اللي بختارها هيا اللي تكون عندها ال discontinuity فبيحصل اللي في الصورة الأولي سؤالي هنا .... حد عنده فكرة لحل ؟ انا فكرت انه لما يكون فيه الشكل اللي في الصورة اللي تحت يبقي ديه ما لانهاية والنتيجة كانت كويس للحالات ديه بس محلتش كل الحالات وبوظت حالات تانية http://i.imgur.com/yityhEF.png اسف لو مكان البوست غلط
  4. تطبيق هدى الاسلام الموسوعة الكبرى

    البرنامج جميل جدا ما شاء الله لكن عندي بعض الملاحظات * البرنامج لا يعمل علي armv6 مع ان ما زالت توجد برامج كبيرة كـ flipboard تعمل عليه * لو وضعت امكانية التحكم في حجم الخط ستساعد جدا كبار السن ومن عندهم مشاكل في النظر وايضا توضيح الخط عند الدخول في قسم رمضان ( تلك كانت ملاحظات كبير في السن فعلا )   غير ذلك البرنامج روعة ومفيد جداا 
  5. لعبة Sudoku

    kenham عندك حق :D ان شاء الله سأقوم بنزع تلك الميزة وجعل اللاعب هو من يضع اللعبات المرشحة     عندك حق وفي التانية كمان بالذات ان شاء الله انا هحاول اعمل خوارزمية تحدد صعوبة اللعبة وهخليها تعمل 1000 لوحة وتصنفها حسب الصعوبة واعملها في ملف واعمل خيارات صعوبة اللعبة وهعمل خيار توليد لعبة جديدة عشوائية الصعوبة  او لو نجحت مش هضطر لكدة واخليها ممكن تحدد الصعوبة وتولد لوحة جديدة حسب الصعوبة ديه
  6. لعبة Sudoku

    شكرا علي التعليق :) ان شاء الله سأقوم بعمل هذا ولكن لا ينبغي للوحة السودوكو ان يكون بكل مربع بها عدد متساوي من الارقام هذه الصورة من ويكيبيديا ومكتوب تحتها لعبة سودوكو اعتيادية  اما بالنسبة انها صعبة الحل بالتفكير فعندك حق وهذه هي المشكلة فانا لا استطيع التحكم في صعوبة العبة ( حتي الان :D ) ولكن ان شاء الله سأجعل خيارات للتحكم من easy ل hard شكرا علي الملاحظات ... لولاها لما فكرت في ذلك :) 
  7. لعبة Sudoku

    كل سنة وانتم طيبين وعيد سعيد   :) كتبت الكود كله من اول وجديد واستعملت mvc design pattern و observer design pattern  قمت باضافة : undo وقابلية حفظ اللوحة واعادة تحميلها واحتمال قريب اعمل ال hints او لا عشان تالتة ثانوي :D اللينك فوق وهنزل السورس كود قريب
  8. لعبة Sudoku

    شكرا علي الرد :) ان شاء الله الميزات ديه جاية قريب - قابلية ال undo باستخدام ال linked lists لعمل list لكل الحركات - حفظ لوحة اللعب واعادة تحميلها - hints علي المدي البعيد - editor mode ممكن بيه تدخل لوحة ويحلهالك او تدخل لوحة وتشوف لو كانت صالحة ولا لا ( ليها حل وحيد ولا لا ) وبعد ما اخلصها ان شاء الله هبدا في mine sweeper :D
  9. سؤال حول برنامج كتابة الجافا

    كما يوجد IntelliJ IDEA  ايضا وهو جيد للغاية  
  10. لعبة Sudoku

    بسم الله الرحمن الرحيم   // كلام ملوش لازمة :D انا بدأت من حوالي شهر اتعلم ال java وانا متسرع جدا وبحب اشوف نتايج الحاجات اللي اتعلمتها .. قولت اطبق حاجة من اللي عملتها علي ال c++ قبل كدة ال UI مستوحي من لعبة السودوكو ل AGASHE  ( هوا مش مستوحي .. ده نسخة :D ) مميزات :- كل لوحة بيتم عملها ملهاش غير حل واحد فريد وطبعا كلهم مختلفين عن بعض ( الحكاية عشوائية جدا)            - اظهار اللعبات المرشحة لكل خانة            - اذا ادخلت رقم في مكان خاطئ يتم تظليل المربع بالاحمر الفاتح عيوب  : - لسا ناقص حاجات كتيير جدا تتعمل :D   هدفي من ده :  - ان لو اي حد شاف السورس كود يا ريت يقولي علي اخطائي او طرق احسن لتنفيذ اي حاجة                 - اني اسأل : هوا في اي طريقة احدد بيها الصعوبة للعبة انا عارف ان المواضيع زي ديه مش مهمة  .. بس انا محتاج ناس تشوف البرنامج عشان احس بحافز :D             source code البرنامج  
  11. Java pass by value of a reference ! (سؤال)

    شكرا علي التوضيح :) انا كان قصدي ان نفس الفكرة بتحصل لما بتبعت object بس عندي سؤال تاني لو سمحت ليه النسخ الخفيف clone مش بتشتغل مع ال two dimensional arrays وازاي اعمل لل array ديه deep  copy   public class ClassA { public static void main(String[] args) { ClassB aClass = new ClassB(); int x[][] = aClass.getY(); x[0][0] = 5; aClass.printY(); }}class ClassB { private int[][] y; public ClassB() { y = new int[2][1]; y[0][0] = 2; y[1][0] = 4; } public int[][] getY() { return y; } public void printY() { System.out.println(y[0][0]); }}الناتج بيكون 5 // لقيت الحل شكرا جدا علي التوضيح // ساويت كل قيمة من ال array الاصل لل array التانية عشان القيمة المفردة بتكون primitive 
  12. Java pass by value of a reference ! (سؤال)

    عارف ان java مش pass by reference بس ممكن حد يشرحلي الكود ده  public class ClassA { public static void main(String[] arg) { ClassB aClass = new ClassB(); int[][] y = aClass.getX(); y[0][0] = 6; System.out.println(aClass.getX()[0][0]); }}class ClassB { private int[][] x; public ClassB() { x = new int[2][2]; x[0][0] = 5; } public int[][] getX() { return x; }}الناتج بيكون 6 ازاي ؟ سمعت اجابة ان java ب  pass objects by value of reference  وطبعا انا مش فاهم :D
  13. بسم الله الرحمن الرحيم :) طريقة ايجاد قاعدة الدالة المارة بعدد n من النقط علي المستوي الاحداثي   اذا كان لدينا نقطتين :  اي نقطتين تمر بهم خط مستقيم ولذلك اذا اعطيت نقطتين تكون الدالة علي الشكل د( س ) = أس + ب       ( حيث أ و ب ثابت ) مثال لدينا النقطتين ( 1 , 2 ) ( 2 , 1 ) بالتعويض بقيم س و د(س) 2 = أ + ب 1 = 2أ + ب وتلك معادلة خطية سهلة الحل   اذا كان لدينا ثلاث نقط : اي ثلاث نقط ان لم يكونو علي خط مستقيم فسيوجد دالة تربيعية تمر بهم شكل الدالة التربيعية :   د ( س )  = أ س^2  + ب س + ج مثال : لدينا النقط ( 1 , 1 ) ( 2 , 4 ) ( 3 , 9 ) بالتعويض 1 = أ + ب + ج 4 = 4 أ + 2 ب + ج 9 = 9 أ + 3 ب + ج معادلة خطية أيضا   اذا كان لدينا عدد n من النقط : فإن الدالة في اسوأ الحالات ستكون من الدرجة n - 1 وسنكون معادلة خطية أيضا د(س) = أ س^( n - 1 ) + ......... + ج   في أي حال من الأحوال تتكون معادلة خطية :D     طريقة Gaussian elimination في حل المعادلات الخطية تعتمد علي وضع معاملات المتغيرات في مصفوفة مرفقة بنتائج المعادلة ونستخدم القسمة وطرح الصفوف لنصل لمصفوفة الوحدة سنقوم بالتطبيق علي النقط  ( 1 , 1 ) ( 2 , 4 ) ( 3 , 9 )  لدينا 1 = أ + ب + ج 4 = 4 أ + 2 ب + ج 9 = 9 أ + 3 ب + ج   نقوم بتنيظمها علي شكل مصفوفة كما بالصورة الهدف من العملية هو ان نصل الي مصفوفة الوحدة وبذلك نكون حصلنا علي قيم أ و ب و ج طريقة العمل :  في كل عمود نقوم بقسمة الصف الذي يحتوي علي 1 ( في مصفوفة الوحدة ) علي نفسه حتي نحصل علي القيمة 1 نقوم بطرح الصفوف حتي نحصل علي القيم 0 ......   الصور ستوضح لنا   العمود الأول لحسن حظنا القيمة تحتوي بالفعل علي 1 لذلك لا داعي للقسمة نقوم بضرب الصف الأول في 4 ونطرحة من الصف الثاني حتي نحصل علي القيمة 0 في الصف الثاني العمود الأول الان حصلنا علي القيمة 0 في المكان المراد ..  نقوم بضرب الصف الأول في 9 ونطرحة من الثالث حتي نحصل علي 0   العمود الثاني : نقوم بالقسمة علي 2 في الصف الثاني حتي نحصل علي القيمة 1 كما في مصفوفة الوحدة وهكذا نقوم الضرب في 1 ونطرحها من الصف الأول ثم نقوم بالضرب في 6 ونطرحها من الصف الثالث حتي نحصل علي 0   العمود الثالث : نقوم بتكرار نفس العمليات حتي تكون المصفوفة علي شكل مصفوفة الوحدة ومنها قيمة أ = 1  ....  ب = ج = 0 اي د(س) = س^2 تلك الفكرة التي استعملتها   عيوب الطريقة  - من وجهة نظري :D - : نقتطين  = دالة خطية ثلاث نقط = دالة تربيعية أو خطية أربع نقط = دالة تكعيبية او تربيعية او خطية ما أعنيه ان البرنامج من المستحيل ان يعطي دالة تكعيبية تمر بالنقط المعطاه مثلا اذا اعطيته اقل من 4 نقط لانه لا يمكن - عادة - حل معادلات عدد متغيراتها اكبر من عدد المعادلات  ( سيوجد عدد لا نهائي من الحلول )    أحب استفيد من طرق تانية للحل  ( لو كنت عارف طريقة تانية قولها   :D )   الكود : #include <iostream>#include <cmath>using namespace std;int number;long double AMatrix[20][20]= {0};long double solution[20]= {0};void subtract( int column , int row ){ float temp ; temp = AMatrix[row][column]; solution[row] -= (solution[column]*temp); for(int i = 0 ; i < number ; i++ ) { AMatrix[row][i] -= (AMatrix[column][i]*temp); } return ;}void divide( int row , int number ){ if(AMatrix[row][row]!=0) { float temp = AMatrix[row][row]; solution[row] /= temp; for( int i = 0 ; i < number ; i ++ ) { if( AMatrix[row][i] == temp ) AMatrix[row][i] = 1; else AMatrix[row][i] /= temp ; } } return ;}void solute(){ for( int column = 0 ; column < number ; column ++ ) { divide( column , number ); for ( int row = 0 ; row < number ; row ++ ) { if ( column != row ) subtract(column,row); } } return ;}void Around(){ for(int i = 0 ; i < number ; i++) { if( int(solution[i]*10000) != solution[i]*10000 ) { solution[i] = int ( solution[i] * 10000 ); solution[i] += 5; solution[i] = int(solution[i] / 10); solution[i] = solution[i] / 1000; } }}void show(){ cout<<"f(x) = "; for(int i = 0 ; i < number ; i ++) { if( solution[i] != 0 ) { if(solution[i] > 0 ) cout<<"+"; if( ( solution[i] != 1 && solution[i] != -1 ) || number-i-1 == 0 ) cout << solution[i] ; if(number-i-1 != 0 ) { cout<<"X"; if(number-i-1 != 1) cout<<"^"<<number-i-1; } } }}int main(){ cout << "How many points do you want to enter ? : "; cin >> number; for(int i = 0 ; i < number ; i ++) { int power = number; int a; cout << endl << " x = "; cin >> a; for( int x = 0 ; x < number ; x ++ ) { power -- ; AMatrix[i][x] = pow(a,power); } cout << " f(x) = "; cin >> solution[i]; } for(int i = 0 ; i < number ; i ++) { if( AMatrix[i][i] == 0 ) { for(int x = 0 ; x < number ; x++) { int temp = AMatrix[i][x]; AMatrix[i][x] = AMatrix[number-1][x]; AMatrix[number-1][x] = temp; } int temp = solution[i]; solution[i] = solution[number-1]; solution[number-1] = temp; } } solute( ); cout<<endl<<endl; Around(); show(); cout<<endl<<endl; return 0;}
  14. تحدي جديد :) صمم برنامج يقوم ب...

    انا عن نفسي قمت بحلها عن طريق Gauss-Jordan Elimination  ( بعيدا عن الاستيفاء تماما .. عن طريق حل المعادلات الخطية :D ) لكن شكرا علي تلك الطرق سأحاول ان أفهمها واقوم بتطبيقها ان شاء الله
  15. يقوم بطلب ادخال عدد n من الأزواج المرتبة في المستوي الاحداثي ويقوم البرنامج بطباعة قاعدة الدالة التي تمر بتلك النقط ملحوظة : انواع الدوال : ثابتة , خطية , تربيعية , تكعيبية و دالة من الدرجة n-1