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

ساعدوني في فهم خوارزميات الترتيب جزاكم الله خير الجزآآآء

بدأه future programm في 14 نوفمبر 2008 · 6 رد · 705 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخوتي :

أنا بدأت بتعلم خوارزميات الترتيب وبدأت بتطبيقها على السي ++ لكن عندي أخطاء بالأكواد أتمنى منكم مساعدتي لتصحيحها ,

البرنامج الأول مطلوب منه يعمل باينري سيرش بس ماتنفذ بالطريقة الصحيحة!

------------------

#include<iostream>

using namespace std;

int BinarySearch ( int a[], int n,int key);

int main()

{

int a[5];

int m,k;

cout<<"please enter the elements :"<<endl;

BinarySearch(a,m,k);

for(int i=0;i<5;i++)

cin>>a;

return 0;

}

int BinarySearch ( int a[], int n,int key)

{

int right = 0, left = n-1, middle;

while( right <= left)

{

middle = (right + left)/2;

if (key == a[middle] )

return middle; //return the position

else

if( key < a[middle])

left = middle -1;

else

right = middle +1;

}

return -1; //-1 means not found

}

#2

فقط استخدمها بطريقة صحيحة.

  1.  
  2. #include<iostream>
  3. using namespace std;
  4.  
  5. int BinarySearch ( int a[], int n,int key);
  6. int main()
  7. {
  8. int a[5]={31,105,17,88,19};
  9. int m=5,k=17;
  10.  
  11. cout<<BinarySearch(a ,m,k)<<endl;
  12.  
  13.  
  14.  
  15. cin.get();
  16. return 0;
  17. }
  18.  
  19.  
  20.  
  21. int BinarySearch ( int a[], int n,int key)
  22. {
  23. int right = 0, left = n-1, middle;
  24.  
  25. while( right <= left)
  26. {
  27. middle = (right + left)/2;
  28.  
  29. if (key == a[middle] )
  30. return middle; //return the position
  31.  
  32. else
  33. if( key < a[middle])
  34. left = middle -1;
  35.  
  36. else
  37. right = middle +1;
  38. }
  39. return -1; //-1 means not found
  40. }
  41.  
  42.  
  43.  
  44.  

الدالة BinarySearch(a ,m,k)

تاخذ ثلاث بارمترات.

الاول a وهو المصفوفة التي سوف تبحث فيها.

الثاني m وهو طول المصفوفة وهنا في هذا المثال طولها خمسة.

الثالث k وهو القيمة التي سوف تبحث عنها .

tvquran_6.gif

#3

يوجد مواضيع متعلقة بهذا الموضوع بالقسم

Binary Search Algorithm

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#4

فهد الشلوي

&

time1

شكــرآ جزيلا وجزاكم الله خير الجزاء وجعله في ميزان حسناتكم ..

_________________________

بدأت بالخوارزميات الترتيب وطبقت على

Bubble Sort

والحمدلله مشيت تمــام ..

________

بعدها بدأت بـ

Insertion Sort

وكتبت الكود بس فيه خطأ ماعرفته

:S

#include<iostream>

using namespace std;

void insertionSort (double , int );

int main()

{

int a[10];

int N2;

int b;

int in, out;

cout<<"please enter ten elements of the array : "<<endl;

insertionSort(b , N2);

return 0;

}

void insertionSort (double v[ ], int N)

{

for (out=1; out < N; out++) //out is dividing line

{

double temp = v[out]; //remove marked item

in = out; //start shifts at out

while (in> 0 && v[in-1] >= temp) //until one is smaller,

{

v[in] = v[in-1]; //shift item to right

--in; //go left one position

}

v[in] = temp; //insert marked item

} //end for

} //end insertionSort()

وياليت جزاكم الله خير تعينوني وشلون اطبقه على

shell sort ?

تم تعديل هذه المشاركة بواسطة future programm في 14 نوفمبر 2008 في 14:48

#5

راجع هذا الموضوع ان شاء الله يفيدك

خوارزميات الترتيب --

تم تعديل هذه المشاركة بواسطة time1 في 14 نوفمبر 2008 في 15:30 — السبب: تعديل الرابط

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#6

Time1 شكــرآ

!! لكن الرابط ما يشتغل :blush:

#7

المعذرة ,,

تم تعديل الرابط اخي الكريم ... -_-

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…