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

اريد حلا للمشكله

مغلق
بدأه MFR في 10 ديسمبر 2001 · 6 رد · 482 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

انا عندي برنامج لمجموعه من الطلاب في مصفوفه ذات بعدين البعد الاول عدد الطلاب والبعد الثاني عدد حروف اسم كل طالب.

ومصفوفه ثانيه ذات بعدين البعد الاول ايضا عدد الطلاب والبعد الثاني عدد المواد اللتي يدرسها الطلاب .

المطلوب من البرنامج قراءة اسامي الطلاب وقراءة درجاتهم في كل ماده ومن ثم ترتيب هؤلاء الطلاب حسب مجموع درجاتهم فتكون النتائج طباعة الاسم متبوع بمجموع درجاته .

انا اسنطعت قراءة الاسامي وقراءة الدرجات واستطعت ترتيبهم حسب مجموع درجاتهم .لكن المشكله انني لم استطيع طباعة الاسم امام الدرجه. فقط ينطبع آخر حرف من كل اسم (طبعا البرنامج بلغة++c)

*************

#2

السلام عليكم

اخوي MFR

لو تحط الكود للبرنامج يكون افضل

#3

وعليكم السلام ورود

والله ماني عارف كيف اكتب كود البرنامج هنا ؟

طيب ممكن عن طريق قص واللصق ؟

لاني اول مره اتعامل مع هذي المنتديات.

#4

نعم أخي انسخه نسه عن طريق Copy و paste أو نسخ ولصق ولكن من أجل أن يطلع الكود على اليسار يجب أن تضعه بين :

[*code2]
ضع الكود هنا
[/*code2]

طبعا لا تضع رمز النجمة حينما تكتبهم ..

Coding on the Cloud and for the Cloud!

My Blog

#5
include
void ascend(int sum[],int ,char n[],int );
char n[5];
void main()
{
	char name[3][5];
	int degree[3][4];
	int sum[3];
	int i,j;
	for (i=0;i<3;i++)
	{

		sum=0;
		cout<<"enter name"<		for (j=0;j<5;j++)
		{

			cin>>name[j];
		    n=name[j];

		}
					int k;
					for (k=0;k<3;k++)
					{
						cout<<"enter the degrees="<<"["<						cin>>degree[k];
                    	sum=sum+degree[k];
					}
						cout<<"the sum of all subjct="<	}	
     ascend(sum,3,n,3);


}

void ascend(int sum[],int c,char n[],int p)
{
	int i,j,temp;
	char t;

      for (i=0;i<=2;i++)
		{
			for(j=i+1;j<3;j++)
			{
				if(sum				{
					temp=sum;
					t=n;
					sum=sum[j];
					n=n[j];
                                        n[j]=t;
					sum[j]=temp;

				}
			}


				 cout<<"the student number"<<"("<	              cout<<"the sum="<
	  }

***************************

هذا اللي قدرت عليه وفهمته يااخ هاني

اخ هاني ارجوا منك المساعده العاجله لاني مبتدأ في ++c لم ادرس منها الا القليل في الجامعه لم ادرس الا جزءاً من الدوال وجزء من المصفوفات وانا اتوقع ان مشكلتي تنحل عن طريق المؤشرات ( pointer )لكن حاولت ولم استطيع لاني لم ادرس المؤشرات

#6

السلام عليكم.

أخي "MFR" : قرأت البرنامج بشكل سريع و لدي الملاحظات التالية :

1 - لماذا لا تخزن معلومات الطلاب في بنية Structure تنشئها أنت بحيث يتم تجميع جميع المعلومات الخاصة بالطالب في كتلة واحدة ؟ مثلا يمكنك التصريح عن البنية بالشكل التالي :

struct student
{
   char name[5];
   int marks[4];
   int sum;
};

حاول إعادة كتابة البرنامج بحيث تستخدم البنية السابقة.

2 - لا داعي لاستخدام المتحول العام n .

3 - في الحلقة الخارجية لعملية الترتيب يجب أن يكون الحد الأعلى للحلقة هو : (عدد العناصر الكلية - 1 ) و بالتالي تصبح الحلقة كالتالي :

for( i=0 ; i:)

مع التحيات.

#7

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

هذا الموضوع مغلق.

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