اذهب إلى المحتوى

السؤال

نشر

السلام عليكم اخواني اخواتي الاعزاء

في هذا الكود المدرج بالاسفل اريد ان اطبع اسم كل طالب  وكل طالب له 5  درجات تختلف عن الطالب الاخر لكن عندما تظهر نتائج الطباعه الاسماء تضهر بشكل صحيح لكن الدرجات تكون متشابه السبب هو ان مصفوفة الدرجات لا تخزن سو  اخر درجات طالب قمة باادخالها لكن لا اعرف ماهو الحل واتمنى ان اجد المساعده منكم 

ولكم من الله التوفيق

 

 int size;
            //int t = 0;
            int sizename;
            //int[] sum = new int[9];
            Console.WriteLine("plz enter the size of array for student degree ");
            size = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("plz enter the size of array for student names ");
            sizename = Convert.ToInt32(Console.ReadLine());

            int[] degree = new int[size];
            string[] name = new string[sizename];

            for (int i = 0; i < sizename; i++)
            {
                Console.WriteLine("plz enter the name of student ");

                name[i] = Console.ReadLine();
                Console.WriteLine("plz enter the degree of student ");
                for (int j = 0; j < size; j++)
                {

                    degree[j] = Convert.ToInt32(Console.ReadLine());
                }
                
            }
            for (int m = 0; m < sizename; m++)
            {
                Console.Write("the name of studen  " + name[m] + "  ");
                for (int k = 0; k < size; k++)
                {
                    Console.Write(degree[k]);
                }

                Console.ReadKey();
            }


        }
    }

}

 

Recommended Posts

  • 1
نشر

تحياتي،

توجد المشكلة في جزأين من الكود، المشكلة الأولى هي عندما تقوم بتخزين مصفوفة العلامات، حيث يجب أن يكون حجمها هو عدد الطلاب × عدد العلامات

المشكلة الثانية هي عند التخزين، فأنت تقوم بالتخزين في نفس القيم لأنك تعيد ضبط j=0 عند بداية الحلقة

 

الحل يكون بالشكل التالي:

int size;
            //int t = 0;
            int sizename;
            //int[] sum = new int[9];
            Console.WriteLine("plz enter the size of array for student degree ");
            size = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("plz enter the size of array for student names ");
            sizename = Convert.ToInt32(Console.ReadLine());

            int[] degree = new int[size * sizename];
            string[] name = new string[sizename];

            int l = 0;
            for (int i = 0; i < sizename; i++)
            {
                Console.WriteLine("plz enter the name of student ");

                name[i] = Console.ReadLine();
                Console.WriteLine("plz enter the degree of student ");
                for (int j = 0; j < size; j++)
                {
                    degree[l] = Convert.ToInt32(Console.ReadLine());
                    l++;
                }

            }

           
            for (int m = 0; m < sizename; m++)
            {
                Console.Write("the name of student  " + name[m] + "  ");
                for (int k = 0 ; k < size; k++)
                {
                    Console.Write(degree[k + (m*size)] + " ");
                }
                Console.WriteLine();
                //Console.ReadKey();
            }

وعند التنفيذ يظهر الحل المرفق في الصورة. 

 

أعلمني اذا اردت مزيداً من الشرح. 

 

Capture.PNG

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...