الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[تنبيه - عنوان غير مناسب : ]مساعدة ببرنامج يطبع المعدل حسب عدد ساعات المادة

بدأه أحلا شب في 19 مايو 2010 · 42 رد · 2,131 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أنا طالب مُبتدئ والحمدُ لله بإنني عثرت على منتداكم العريق والذي علمني الكثير

جئتُ هنا راجيًا مُساعدتكم بعد الله عزوجل

الأن الأستاذ طلب منا برنامج من خلال مصفوفة ذات بعدين ( two-diminesion)

يقوم بأدخال 4 علامات لمواد مختلفة لـ 3 طلاب ومن ثم ضرب كل علامة مادة بعدد ساعاتها من خلال مصفوفة أخرى وبعد ذلك جمعها وإخراج معدل كُل طالب

قمت ببعض المحاولات وتوصلت لهذا البرنامج ولكن به بعض الأخطاء أتمنى التدقيق بها وإعطائي بعض المساعدة

وهذا هو الكود


import javax.swing.*;
public class prog{
public static void main(String[] args) {
int grades[][] =new int[3][5];
int clock[][] =new int[3][5];
int sum;
String output;
for(int i=0; i<=2; i++){
for(int j=0; j<=4; j++)
output="grades["+i+"]"+"\t";
grade[j]=Integer.parseInt(JOptionPane.showInputDialog("أدخل علامة الطالب الأول"));
clock[j]=Integer.parseInt(JOptionPane.showInputDialog("أدخل عدد الساعات"));
}
for(int i=0; i<=2; i++){
sum=0;
for(int j=0; j<=4; j++)
sum+=grades[j];
sum+=clock[j];
output+="The array is:"+"\t\t[0]\t[1]\t[2]\t[3]"+"Average for student "+i+" is "+(sum/grades.length);
JOptionPane.showMessageDialog(null,output);

}
}
}

هذا وبارك الله فيكم

#2

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

السلام عليكم

الكود بعد تصحيح بعض الاخطاء

بس بصراحة انا مش عارفة حضرتك نحتاج ايه.....! :wacko:

import javax.swing.*;
public class prog{
    public static void main(String[] args) {
        int grades[][] =new int[3][5];
        int clock[][] =new int[3][5];
        int sum;
        int j;
        String output="";
        for(int i=0; i<=2; i++){ 
            for( j=0; j<=4; j++){
                output="grades["+i+"]"+"\t";
            grades[j]=Integer.parseInt(JOptionPane.showInputDialog("أدخل علامة الطالب الأول"));
            clock[j]=Integer.parseInt(JOptionPane.showInputDialog("أدخل عدد الساعات"));
        }}
         sum=0;
        for(int i=0; i<=2; i++){

            for( j=0; j<=4; j++){
                    sum+=grades[j];
            sum+=clock[j];
            output+="The array is:"+"\t\t[0]\t[1]\t[2]\t[3]"+"Average for student "+i+" is "+(sum/grades.length);
            JOptionPane.showMessageDialog(null,output);
        } }} }
00020309t.gif

1958_1963.gif
#4
علاء الصالحي كتب:

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

الأخ علاء الصالحي

أولًا / باركَ الله فيك ويعطيك العافية لما تبذله من جهد

ثانيًا / بخصوص عنوان موضوعي بعرف قوانين المنتدى بخصوص العنوان المُبهم ولكن ...!

أنا ما بعرف شو أكتب عنوان أوضح من يلي كتبته عن مُشكلتي .!

وبارك الله فيك مرة ثانية

اسراء شلبى كتب:

السلام عليكم

الكود بعد تصحيح بعض الاخطاء

بس بصراحة انا مش عارفة حضرتك نحتاج ايه.....! :wacko:


public class prog{
public static void main(String[] args) {
int grades[][] =new int[3][5];
int clock[][] =new int[3][5];
int sum;
int j;
String output="";
for(int i=0; i<=2; i++){
for( j=0; j<=4; j++){
output="grades["+i+"]"+"\t";
grades[j]=Integer.parseInt(JOptionPane.showInputDialog("أدخل علامة الطالب الأول"));
clock[j]=Integer.parseInt(JOptionPane.showInputDialog("أدخل عدد الساعات"));
}}
sum=0;
for(int i=0; i<=2; i++){

for( j=0; j<=4; j++){
sum+=grades[j];
sum+=clock[j];
output+="The array is:"+"\t\t[0]\t[1]\t[2]\t[3]"+"Average for student "+i+" is "+(sum/grades.length);
JOptionPane.showMessageDialog(null,output);
} }} }
import javax.swing.*;

الأخت الفاضلة / " إسراء شلبي "

بدايتًا باركَ الرحمنُ فيكِ , وبياكِ ربي لما بذلتي من جُهدْ

أنا أقصد تمامًا كما البرنامج الذي قمتي بتصحيحهُ أولا وهو

( إدخال 4 علامات لكل طالب وليكن عدد الطلاب 3 , وكل مادة من الـ 4 مضروبة بمصفوفة أخرى لعدد ساعات كُل مادة من الـ 4 ) فقط

برنامجك يُساعد في ذلك ولكن عند تنفيذ البرمامج يظهر نافذة مسج Dialog Boxes كُل مرة ينفذ فيها بحجم أكبر وأكبر , فأرجوا المراجعة بعد إذنك

ويسلمك ربي

#5

أخي موضوع أسئلتكم واستفساراتكم

موجود ليحل هذه المشكلة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#6

السلام عليكم ورحمه الله وبركاته

ممكن حضرتك تعطى وصف دقيق للمشكله

لان لم افهم شىء؟

ولااعلم

اقتباس
يقوم بأدخال 4 علامات لمواد مختلفة لـ 3 طلاب ومن ثم ضرب كل علامة مادة بعدد ساعاتها من خلال مصفوفة أخرى وبعد ذلك جمعها وإخراج معدل كُل طالب

معنى تلك الجمله

وما قصدك بالعلامات ؟

وكيف يتم ضربها من خلال مصفوفه اخرى

ما هي المصفوفه الاخرى وماذا تحتوى؟

اتمنى توضيح اكثر للمشكله لتمكنا من مساعدتك

سلام عليكم

وشكرااااا

Software Developer
Mahmoudkelany.com


 

#7

أخي الحبيب 'Eng.Hamzawy'

بخصوص البرنامج هو كالتالي

يدخل المستخدم 3 طلاب لكل طالب 3 علامات مواد يعني بكل بساطة المطلوب الـ average المعدل يعني

ولكن عدد ساعات كل مادة يدخلها المستخدم وذلك من خلال مصفوفة أخرى

فقط هاد المقصد

int grades[][] =new int[3][5];

هاي لعدد الطلاب والمعدل

int clock[][] =new int[3][5];

وهاي مصفوفة لعدد الساعات

وبارك الله فيك

تم تعديل هذه المشاركة بواسطة أحلا شب في 19 مايو 2010 في 23:29

#8

تقريبا الحمدلله بدات افهم قصدك

بس اناعاوز اعرف

ايه الــ

[5];

اللى فالمصفوفتين ؟

int grades[][] =new int[3][5];   
int clock[][] =new int[3][5];

وان شاء الله بعد كدا المشكله تتحل

وشكراا

Software Developer
Mahmoudkelany.com


 

#9

يا رب اكون فهمت وجهه نظرك

وانا عملت الكود وجرب كدا

وجرب امثله تكون عارف اجابتها

وشوف الاجابه صح ولا لا

الكود

import javax.swing.*;

public class prog {

    public static void main(String[] args) {
        int grades[][] = new int[3][4];
        int clock[][] = new int[3][4];
        int sum = 0, j, i;
        String output;
        for (i = 0; i < 3; i++) {
            for (j = 0; j < 4; j++) {
                grades[j] = Integer.parseInt(JOptionPane.showInputDialog("Enter grades of student(" + (i + 1) + ") :: grade(" + (j + 1) + ")"));
                clock[j] = Integer.parseInt(JOptionPane.showInputDialog("Enter clock of stuent(" + (i + 1) + ") :: clock(" + (j + 1) + ")"));
            }
        }
        for (i = 0; i < 3; i++) {
            for (j = 0; j < 4; j++) {
                sum += grades[j] * clock[j];
            }
            output = "The Average of  four grades for student (" + (i + 1) + ")= " + (sum / 4);
            JOptionPane.showMessageDialog(null, output);
        }
    }
}

وايضا الكود بالمرفقات

prog.java

Software Developer
Mahmoudkelany.com


 

#10

الرقم 5 يمثل طول المصفوفة الداخلية الموجودة فى كل عنصر من المصفوفة الخارحية ( الام )

فمثلا عند انشاءك لمصفوفة من نوع رقم وطولها 3 تكون الشفرة كالتالى

int[] grades = new int[3];

وبعد تعبئة المصفوفة بالارقام تصبح هكذا

grades = new int[]{ 5,
6,
9};

لاحظ ان كل عنصر عبارة عن رقم واحد فقط

اما الطريقة الثانية ( Multi_Dimensional Arrays)

فيتم انشاءها كما يلى

int[][] grades= new int[3][5];

وبعد تعبئة المصفوفة بالارقام تصبح هكذا

grades = new int[][]{ new int[]{51,6,7,3,4} ,
new int[]{52,89,32,1,0} '
new int[]{18,43,59,47,36} };

هل لاحظت ان العنصر الثانى مثلا فى المصفوفة الاولى والممثل فى الرقم 6

اصبح الان عبارة عن مصفوفة داخلية تحتوى على الارقام 52 و 89 و 32 و 1 و 0

وطولها 5 عناصر فعلا

وهذا هو معنى الرقم 5 الموجود فى القوس الثانى فى شفرة تعريف المصفوفة

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#11
اقتباس

وهذا هو معنى الرقم 5 الموجود فى القوس الثانى فى شفرة تعريف المصفوفة

شكرا يا بشمهندس

بس انا كنت اقصد ماذا تدل فالكود

ما فائدتها ؟؟؟؟؟

فالبشمهندس فى راس السوال ذكر 3 طلاب و4 مواد

فمن اين أتى بـ 5

وليس كيف تصنع هكذا

ولكن جزاك الله خيرا لمن لا يعلم

سلام عليكم

تم تعديل هذه المشاركة بواسطة Eng.Hamzawy في 20 مايو 2010 في 01:50

Software Developer
Mahmoudkelany.com


 

#12

السلام عليكم

الكود انا جربته و الحمد لله كل حاجة تمام

import javax.swing.*;
public class prog{
    public static void main(String[] args) {
        int grades[][] =new int[4][5];
        int clock[][] =new int[4][5];


int average=0;
        int  sum=0;
        int j;
        String output="";
        for(int i=0; i<=2; i++){
            for( j=0; j<=3; j++){
                output="grades["+i+"]"+"\t";
            grades[j]=Integer.parseInt(JOptionPane.showInputDialog(i+1+" علامة الطالب الأول"));
            clock[j]=Integer.parseInt(JOptionPane.showInputDialog("أدخل عدد الساعات"));
        }}
      int counter=0;
        for(int i=0; i<=2; i++){

            for( j=0; j<=3; j++){
            sum+=grades[j]*clock[j];
            average=sum/4;

        }
            counter=counter+1;

        JOptionPane.showMessageDialog(null,average+" =("+counter+")بيانات الطالب رقم");
        sum=0;
        }} }

انا جربت ارقام محددة و فعلا الناتج طلع صح

شوف كدة و قولى ايه الاخبار :lol:

00020309t.gif

1958_1963.gif
#13
MOHAMED FATHEI كتب:

الرقم 5 يمثل طول المصفوفة الداخلية الموجودة فى كل عنصر من المصفوفة الخارحية ( الام )

فمثلا عند انشاءك لمصفوفة من نوع رقم وطولها 3 تكون الشفرة كالتالى




int[] grades = new int[3];

وبعد تعبئة المصفوفة بالارقام تصبح هكذا



grades = new int[]{ 5,
6,
9};

لاحظ ان كل عنصر عبارة عن رقم واحد فقط

اما الطريقة الثانية ( Multi_Dimensional Arrays)

فيتم انشاءها كما يلى



int[][] grades= new int[3][5];

وبعد تعبئة المصفوفة بالارقام تصبح هكذا




grades = new int[][]{ new int[]{51,6,7,3,4} ,
new int[]{52,89,32,1,0} '
new int[]{18,43,59,47,36} };


هل لاحظت ان العنصر الثانى مثلا فى المصفوفة الاولى والممثل فى الرقم 6

اصبح الان عبارة عن مصفوفة داخلية تحتوى على الارقام 52 و 89 و 32 و 1 و 0

وطولها 5 عناصر فعلا

وهذا هو معنى الرقم 5 الموجود فى القوس الثانى فى شفرة تعريف المصفوفة

تحياتى

الأخ الحبيب 'MOHAMED FATHE

باركَ اللهُ فيكِ لإيضاح من شأنهِ أن يتعلم منه أنا وغيري

فـ مُداخلتكَ هُنا كانت كما البلسم الشافي

بوركتْ

تم تعديل هذه المشاركة بواسطة أحلا شب في 20 مايو 2010 في 05:41

#14

الأخ الحبيب 'Eng.Hamzawy'

الأخت المصونة إسراء شلبي

لا أدري ما أقول , لأنَ الكلمات قليلة أن تصف العرفان الذي بداخل قلبي تجاهكم

وتجاه هذا المنتدى العريق ,

فما من شئ إلا وقصدناه هُنا ووجدنا بحمد الله ثم جهود الأخوة والأخوات

وبارك الله فيكم وسدد خُطاكم

الأمور على ما ٌيرام

خالص مودتي

#15

ما فعلت غير الواجب على من مساعده الاخرين

والحمدلله على ذلك

اتمنى لك دوام التقدم والتفوق

سلام عليكم

Software Developer
Mahmoudkelany.com


 

#16

:happy:

أحب اني اعلق على شرح الاخت اسراء

البرنامج انا جربت بنفسي وطلع كتير ممتاز بس لو تفضلتي عندي تعليق صغير:

انو حسب ما انا ملاحظ انو عرفت عدد الصفوف 4 ولكن شغلها في loop بيقول انو

بتتعامل مع المصفوفة على انها 3 مصفوفات وكذلك الحال في عدد الاعمدة

اذ انه عرفت عدد الاعمدة 5 اعمدة ولكن شغلها في loop بيقول انو

بتتعامل مع الاعمدة على انها من 4 اعمدة

ومشكورين لكل الذين شاركو بهذا الجهد

تم بواسطة MR-Ahmed Magdy

والله اعلم

تم تعديل هذه المشاركة بواسطة أحمد السلوت في 23 مايو 2010 في 14:48

#17

اهلا بك اخى الكريم

السائل كان يريد تعريف مصفوفة 2D مكونة من 3 صفوف و 4 اعمدة

تمام؟؟

int grades[][] =new int[4][5];        
int clock[][] =new int[4][5];

هنا انا عرفت المصفوفة و لكن بزيادة inedex كما يقال لى من الجامعة ان نترك انديكس للميمورى و يوضع فيها على ما اتذكر /0 المهم

بداخل loop هذا يمر على الصفوف

for(int i=0; i<=2; i++){

عد معى من 0...1...2 يعنى ثلاث مرات الا و هما عدد الصفوف و كذلك

هنا على عدد الاعمدة

  for( j=0; j<=3; j++){

و اتمنى من احد الاخوة الاهضاء ان يعلق على هذة الجزئية اكثر

اقتباس
عرفت المصفوفة و لكن بزيادة inedex كما يقال لى من الجامعة ان نترك انديكس للميمورى و يوضع فيها على ما اتذكر /0

تم تعديل هذه المشاركة بواسطة اسراء شلبى في 22 مايو 2010 في 23:33

00020309t.gif

1958_1963.gif
#18
اقتباس

عرفت المصفوفة و لكن بزيادة inedex كما يقال لى من الجامعة ان نترك انديكس للميمورى و يوضع فيها على ما اتذكر /0

ما سمعت بهذا من قبل لكن ربما

على العموم لم أجد الجملة في أي مكان من أين أتيتي بها إسراء

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#19
اقتباس
عرفت المصفوفة و لكن بزيادة inedex كما يقال لى من الجامعة ان نترك انديكس للميمورى و يوضع فيها على ما اتذكر /0

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

على سبيل المثال عن الترتيب باستخدام mergsort algorithm

فاننا نزيد من حجم المصفوفه بمقدار واحد كمؤشر يفيد ان الترتيب قد وصل الى نهايه المصفوفه

ولكن عندما عدت الى ماده هياكل البيانات حيث كنت درست تلك الخوارزميه فلم اجد هذا الـindex الاخير

اظن ان هذا الكلام فى الجامعات المصريه فقط :lol: :lol: :lol:

Software Developer
Mahmoudkelany.com


 

#20

هههههههههههههههههههههه

أظن أن العلم عند المصريين يأخذ منحنى آخر :lol:

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#21
علاء الصالحي كتب:

هههههههههههههههههههههه

أظن أن العلم عند المصريين يأخذ منحنى آخر :lol:

تحياتي

نحن نختلف عن الاخرين يا اخ علاء

وبعدين انا مصرى وابوى مصرى

ههههههههههههه

بس اعتقد دا فى شرح الالجوريثمات

وعندما سالت عن كيفيه وضح الـ /0

قالوا لى ان هناك طرق كثيره افضل من هذه

ولكن الشرح يكون على هذا الاساس

انما فى التمثيل فى الكود لا يكون كذلك فى معظم الاحيان

وبس انا نسيت ايه الطريقه اللى بتكون افضل من طريقه /0 :wub: :wub:

بقيت انسى :wacko: ربنا يسترها :huh:

Software Developer
Mahmoudkelany.com


 

#22

كل الناس خير وبركة ونحن نتوسم الخير في كل المسلمين

بالمناسبة إلما يرمز هذا الأخ /0

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#23

انا متاكدة انى سمعت الجملة دى قبل كدة فى شرح السى بلس

عند بداية اخذ المصفوفات و لكننا لم نعمل بها

هههههههههههههههههههههههه

يا جماعة احرجتوا الاستاذة اسراء :wub:

دة مثال حى انى اسراء اسراء و بس

تم تعديل هذه المشاركة بواسطة اسراء شلبى في 23 مايو 2010 في 09:48

00020309t.gif

1958_1963.gif
#24

:happy:

تم تعديل هذه المشاركة بواسطة أحمد السلوت في 23 مايو 2010 في 14:46

#25

:wink:

تم تعديل هذه المشاركة بواسطة أحمد السلوت في 23 مايو 2010 في 14:46

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…