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

ظهور run time error بسبب عداد

مغلق
بدأه busy في 30 ديسمبر 2006 · 3 رد · 582 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كل عام وانتم بخير ... عيد اضحى مبارك عليكم جميعا

قمت بعمل كود مقارنه

والفكرة هي مقارنه قيم array of structure مع قيم array فإن لم توجد هذه القيم في ال array اقوم بتخزينها به بناء على شروط معينه

لكن المشكلة هي ظهور run time error ويكون المؤشر على عداد اضفته لكي يزيد في قيمه array كلما وضعت فيها ناتج مقارنه مطلوب

استخدمت two nested loop ولا اعرف صراحة اين الخطأ في الكود فهو من وجهة نظري صحيح لذلك قلت اضع الهيكل البرمجي لكودي بين ايديكم وارى رأي اخوتي فيه

على فكرة العداد هنا اسمه plus

			for()
			{
						 for()
							{
							  if() 
									 {
										plus++;
										for()
											  {
												if()
												 	{   
													   plus++;
														break;
												 	}//if
											  }//if for

									  }//if
							   	else if()
								   	{
										for()
											{
												if()
													{
															plus++;
															break;
												   	}//if
											} //for
									}//else if
							   }//2for
						  }//1for

تم تعديل هذه المشاركة بواسطة busy في 30 ديسمبر 2006 في 00:23

#2

بس فين الكود بتاع المقارنه

انت متأكد من الكود؟؟

#3

لم اجد في هذا الكود twisted for واحدة بل شعرت بملايين for فيها ... هل يمكنك وضع الكود كاملاً لكي نستطيع الفهم ؟؟

#4

حسنا

اليكم الكود كاملا

private void button2_Click(object sender, System.EventArgs e)

		{ 

			int i,j;

			mst temp=new mst();
			//mst[] sort=new mst();

			for(i=0;i<=counter;i++)//للترتيب
			{
				for(j=i;j<=counter;j++)
				{
					if(tree[j].edges<tree.edges)
					{
						temp=tree;
						tree=tree[j];
						tree[j]=temp;
					}
				}
			}


			int [] mtree=new int [counter];//لقيم التري بعد المقارنه
			int cp=0;//for calculate cost
			int n;
			int plus=2;
			mtree[0]=tree[1].startN;//نضع قيمه اول نود لاقل قيمه 
			mtree[1]=tree[1].endN;//نضع قيمة ثاني نود لاقل قيمه
			cp+=tree[0].edges;//نجمع الكوست

			for(i=1;i<=counter;i++)//لوووب للمقارنه 
			{
				for(j=1;j<=i;j++)
				{
					if(tree.startN !=mtree[j])//اذا لم تتساوى القيمه للنودين 
					{
						mtree[plus]=tree.startN;
						plus++;
						for( n=0;n<=i;n++)//وابحث عن قيمة النود الثانيه هل هي موجوده ام لا
						{
							if(tree.endN !=mtree[n])//اذا النود الثانيه غير موجوده ضع قيمتها
							{   
								mtree[plus]=tree.endN;
								plus++;
								break;
							}//if
						}//if for
						cp+=tree.edges;//ضع النود في سابننيغ تري واجمع الكوست
					}//if
					else if(tree.startN ==mtree[j])//اذا تساوت قيمة النودين
					{
						for( n=0;n<=i;n++)//ابحث هل النود الثانيه موجوده في السبانينغ ام لا
						{
							if(tree.endN !=mtree[n])//اذا هي غير موجوده ضعها في السبانينغ تري واضف الكوست
							{
								mtree[plus]=tree.endN;
								cp+=tree.edges;
								plus++;
								break;
							}//if
						} 
					}//else if
				}//2for
			}//1for

			textBox1.Text=Convert.ToDouble(cp)+"";//اعرض الكوست

		}

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

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