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

غلط في الكود "مشقلب علي الدنيا"

مغلق
بدأه Challenger في 2 نوفمبر 2005 · 3 رد · 481 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

حياكم الله يا جماعة الخير

شوفوا - سلمكم الله -

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

ويعطيني النتيجة قدام كل رقم

لكن المشكلة انه ما يظهر النتيجة الا بعد عشرة " لفات "

شوفوا الكود

//ex2//



#include <iostream.h>
int main()
{
	int 
  timeAA,timeBB,timeCC,timeA,timeB,timeC,i,j,k,a,b,c,totTime,bestTime=0,NEW_BESTtime;
	for( i=1;i<=8;i++)
	{
  for(  j=1;j<=8;j++)
  {
	k=10-i-j;
       


	if (k==0)
	{
  break;
	} 
  


    cout<<i<<""<<j<<""<<k<<endl;

	for (a=1;a<=8;a++)
	{
  timeA=256+9*a+11-16*(int)((9*a+11)/16);


	}

	timeAA=timeA+timeAA;

  for (b=1;b<=8;b++)
  {
   timeB=256+13*b+15-16*(int)((13*b+15)/16);


  }

    
      timeBB=timeB+timeBB;



  for (c=1;c<=8;c++)
  {
   timeC=256+7*c+10-16*(int)((7*c+10)/16);

  }
      
      timeCC=timeC+timeCC;


  }  

      totTime=timeAA + timeBB + timeCC;
   
   cout<<"ToTal_Time"<<totTime;

   if (totTime>bestTime)
	{totTime=NEW_BESTtime;
	}
   
}

      

	return 0;
}

The result of the code will be

السؤال :

اريده يعطيني المجموع قدام كل ثلاثة ارقام

مثال:

الرقم الاول:1

الرقم الثاني :1

الرقم الثالث:8

يعوض بالرقم الاول في المعادلة

timeA=256+9*a+11-16*(int)((9*a+11)/16

يعوض بالرقم الثاني في المعادلة

timeB=256+13*b+15-16*(int)((13*b+15)/16

يعوض بالرقم الثالث في المعادلة

timeC=256+7*c+10-16*(int)((7*c+10)/16

المجموع:تعويضA+تعويضB+تعويضC

لكنه للاسف يعطيني المجموع بعد عشرة تعويضات

فهل من مجيب يا معاشر العرب?

سلامي

#2
//ex2//



#include <iostream.h>
int main()
{
	int 
  timeAA,timeBB,timeCC,timeA,timeB,timeC,i,j,k,a,b,c,totTime,bestTime=0,NEW_BESTtime;
	for( i=1;i<=8;i++)
	{
  for(  j=1;j<=8;j++)
  {
	k=10-i-j;
       


	if (k==0)
	{
  break;
	} 
  


    cout<<i<<""<<j<<""<<k<<endl;

	for (a=1;a<=8;a++)
	{
  timeA=256+9*a+11-16*(int)((9*a+11)/16);

  timeA=timeA+timeAA;

	}



  for (b=1;b<=8;b++)
  {
   timeB=256+13*b+15-16*(int)((13*b+15)/16);


   timeB=timeB+timeBB;
  }

    
      



  for (c=1;c<=8;c++)
  {
   timeC=256+7*c+10-16*(int)((7*c+10)/16);

   timeC=timeC+timeCC;
  }
      
      

      totTime=timeA + timeB + timeC;

   if (totTime>bestTime)

	{totTime==NEW_BESTtime;
	}

   cout<<"BEST_TIME:"<<totTime<<"  SECONDS"<<endl;

  }  

      
   
   

   
   
}

      

	return 0;
}

الشغل صلح

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

بس ما زال ناتج المجموع خطأ:)

#3

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

أتصور مشكلتك سببها أنه بعض المتغيرات لم تقم بأعطائها قيمة معينة عند تعريفها.

في لغة السي لا ياخذ المتغير قيمة صفر عند تعريفه, و لهذا عليك أعطاء قيمة لكل متغير قبل أستعماله لأول مرة.

في البرنامج هذا مثلا لديك متغيرات أستعملتها قبل أعطائها قيمة مثل timeAA, timeBB, timeCC.

comp2.gif

#4

كما قال أخي MTI, يجب ان تعطي قيم للمتغيرات قبل استخدامها.

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

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