السلام عليكم ,,, اتمنى ان يكون الجميع بصحه وعافيه
اذا امكن احد الشباب يرد على هذه الاستفسارات
1-كيف استطيع حساب الوقت الذي يستقرقه البرنامج
من اول التشغيل الى ظهور النتائج
2- كيف استطيع ارتب متغير يحتوي مجموعه اعداد ترتيب تنازلى والعكس
السلام عليكم ,,, اتمنى ان يكون الجميع بصحه وعافيه
اذا امكن احد الشباب يرد على هذه الاستفسارات
1-كيف استطيع حساب الوقت الذي يستقرقه البرنامج
من اول التشغيل الى ظهور النتائج
2- كيف استطيع ارتب متغير يحتوي مجموعه اعداد ترتيب تنازلى والعكس
بالنسبه للسؤال الاول
من داله Time
واما الثاني
فهو عن طريق المود % نقسم العدد ونرتب
ومعليش على الرد المختصر(لاني مستعجل)
السلام عليكم ,,,
اقتباس1-كيف استطيع حساب الوقت الذي يستقرقه البرنامجمن اول التشغيل الى ظهور النتائج
هل تريد حساب سرعة البرنامج ,, ؟
اذا كان هذا ماتريد سأفصل لك ,,
اما ان كنت تريد فقط معرفة الزمن الذي يستغرقه المستخدم في استخدام البرنامج حتى ينتهي ,, يمكنك معرفة الوقت الحالي عند التشغيل ,, ثم وقت الاغلاق وتطرحهما ,,
فصل أكثر لأفصل لك ,,
اقتباس2- كيف استطيع ارتب متغير يحتوي مجموعه اعداد ترتيب تنازلى والعكس
سأجيبك مع السؤال الاول المرة القادمة ,, حيث توجد الكثير من الطرق لفعل ذلك ,,
وفقك الله ,,
يعطيكم العافيه ونفعنا الله بعلمكم
اثلجتو صدري بتقبلكم هذه الاستفسارات
اما الاستفسار الاول
انا اقوم بعمل برنامج لمادة نظم التصنيع
واقوم بأختبار طرق للحل عن طريق استخدام
نظام بحث متقدم وهو نظام tabu search
ويستمر البرنامج في العمل لمده كبيره تصل
الى اكثر من يوم واقوم بعمل بعض التعديلات
في البرنامج للحصول على اقل قت ممكن
لتنفيذ البرنامج وتكون المقارنه بين كل برنامج واخر
بلوقت الذي يستقرقه هذه البرنامج ولهذا احتاج لهذا
الكود لكي تتم المقارنه لانني اتعامل معى مضروب الاعداد
فتخيل مضروب 500 كم وانا احتاج لهذا المضروب وهو يمثل
عدد الحلول الممكنه واختيار افضل حل بطريقه تكون مختصره
اي انني لا احصل على الحل الامثل بل حل جيد
السلام عليكم ,,
فهمت منك أنك تريد أن تعرف السرعة المثلى لبرنامجك ,, مثلا لديك حلقات تكرار ضخمة ,, تريد أن تعرف أيها أسرع ,, اذا نفذت بهذا الشكل أم بطريقة أخرى ,, اليك الفكرة :
لمعرفة سرعة تنفيذ كود معين عليك أن تقوم بتحويطه بهذا ال BLOCK :
clock_t begin,finish; begin = clock();
الكود الذي تريد حساب سرعته اكتبه هنا ,,,
finish = clock();
الآن القيمة begin بها الوقت بالهرتز حين بدأ المعالج تنفيذ التعليمات للكود الذي بين البلوكين ,,
والقيمة finish بها الوقت في النهاية ,,
بالطبع لمعرفة الزمن المستغرق ,, اطرح النهاية من البداية ,, لكن بالطبع هذه لن تفيد ,, لأنها ستعطيك عدد دورات Processor ,, لكن لمعرفة الزمن المستغرق ,, اقسم القيمة الناتجة من الطرح على القيمة الثابتة المعرفة مسبقا ,, CLOCKS_PER_SEC ,,,
يعني سيكون الكود في النهاية ,,
اقتباسcout <<(double)(finish-begin/CLOCKS_PER_SEC) << endl;
أرجو أن تكون قد فهمتني ,, واذا توقف لك شيء ,, فأنا في الخدمة ,,
تم تعديل هذه المشاركة بواسطة HGB في 3 يناير 2004 في 04:42
جزاك الله خير الجزاء
سوف اقوم بالتجربه
بس ياليت تردلي على الاستفسار الثاني
- كيف استطيع ارتب متغير يحتوي مجموعه اعداد ترتيب تنازلى والعكس
سأجيبك مع السؤال الاول المرة القادمة ,, حيث توجد الكثير من الطرق لفعل ذلك
اخوي بالنسبه للرقم الي يطلع
وشو الزمن بايش بالجزء من الثايه او ؟؟؟؟؟؟؟
السلام عليكم ,,
اقسم الرقم على 1000 ,, وستحصل على الرقم بالثواني ,,
بالتوفيق ,,
اخي العزيز مشرف القسم اعرف اني اثقلت عليك
لكن ماباليد حيله
ياليت تشوف لي موضوع ترتيب المتغير ترتيب تنازلي فقط
وسوف ارفق الجزء المطلوب ترتيبه ترتيب تنازلي لعل الله
ينفعنا بعلمك وبارك الله فيك
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include <time.h>
#include <stdlib.h>
#define mx 50 // max number of machine and parts
//****//difenations of my program//****//
/////////////////////////////////////////////////////////////////////////////
int parts,machine,row,colm,A[mx][mx],i,j,l,ite=0,mach[mx],newmach[mx],k=0; //
int save[mx],v[mx][mx]={0},r=0,z=0,zz=0,sa=0,vb=0,dd=0,ddd=0,improv=0,ii,jj; //
int vv[mx][mx],no=0,yes=0,save_i,save_j; //
double d[mx][mx]={0},kkk[mx],S=0,lastz=0,lastZ=0,tabu[15][15]; //
double n[mx]={0},c[mx][mx]={0},So=0,Ss=0,S2=0,Zend1=0,Zend2=0,Zend3=0,loc=0; //
double sw=0,No; //
/////////////////////////////////////////////////////////////////////////////
//****//functions//****//
////////////////////////////////////////////////////////////////
void rand_matrix(void); //this line for use function //
void initial_solution(void); //this line for use function //
void searching(void); //this line for use function //
void tabosearch(void); //this line for use function //
int main(void) //
////////////////////////////////////////////////////////////////
{
/////////////////
rand_matrix(); //
/////////////////
///////////////////////
initial_solution(); //
///////////////////////
///////////////
searching(); //
////////////////
tabosearch(); //
////////////////
return 0;
}
//////////////////////////////////////////
void rand_matrix(void) { //
//
//
//
printf("\n Enter no, of Machine :"); //
scanf("%d",&machine); //
printf("\n Enter no, of Parts :"); //
scanf("%d",&parts); //
for(row=0;row<machine;row++) //
{// printf("\n"); //
for(colm=0;colm<parts;colm++) //
{ //
A[row][colm]= rand() % 2; //
//printf("\t%d",A[row][colm]); //
} } //
//
} //
//////////////////////////////////////////
//*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*//*/
void initial_solution(void) { //*
//*
for(i=0;i<machine-1;i++) { //*
for(j=i+1;j<machine;j++) { //*
n[j]=0; n=0; //*
for(l=0;l<parts;l++) { //*
//for count the similar //*
//////////////////////////////////////////////// //*
c[j]=c[j]+(A[l]*A[j][l]); // //*
n=n+A[l]; //*
n[j]=n[j]+A[j][l]; //*
} //*
//printf("\nCi=%1.0f,Ni=%1.0f,Nj=%1.0f",c[j],n,n[j]); //*
d[j]=1-((c[j])/(n+n[j]-c[j])); //*
d[j]=d[j]; //*
printf("\nDis[%d][%d]=%f",i,j,d[j]); //*
//printf("\n**********************************"); //*
} } //*
} //*
//*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*//*/
void searching(void) {
}
//
/////////////////////////////////////////////////
//*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*//*/
//*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*//*/
void tabosearch(void) { //*
//*
} //*
//*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*//*/
//*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/**/*/*/*//*/هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…