الانتقال إلى المحتوى الرئيسي

كيفية فرز ورقة بترتيب تصاعدي باستخدام لغة البرمجة سي

واحدة من المهام الهامة للبرمجة هي فرز البيانات. عند العمل مع لغة البرمجة سي ، هناك عدة طرق لفرز قائمة العناصر المتتالية. في هذه المقالة ، سنلقي نظرة على واحدة من أبسط الطرق لفرز ورقة عمل بترتيب تصاعدي باستخدام لغة البرمجة سي.

لفرز الورقة ، سوف نستخدم خوارزمية فرز الفقاعة. تمر هذه الخوارزمية عبر الورقة بأكملها عدة مرات ، وتقارن بين عنصرين متجاورين وتبديلهما إذا لم يتم ترتيبهما بترتيب تصاعدي. بعد كل تمريرة ، "ينبثق" أكبر عنصر إلى موضعه في نهاية الورقة. بعد عدة تمريرات ، يتم فرز جميع العناصر أخيرا.

سنبدأ بالإعلان عن الورقة التي نريد فرزها وتهيئتها. من أجل بساطة المثال ، لنفترض أن هذه ورقة من الأعداد الصحيحة. ثم نقوم بإنشاء حلقة متداخلة تمر عبر الورقة عدة مرات ، مع تبديل العناصر المجاورة إذا لم يتم طلبها. لاحظ استخدام متغير مؤقت لمبادلة العناصر.

  1. فرز الورقة بترتيب تصاعدي في ج
  2. القسم 2: التحضير لفرز الورقة في ج
  3. 1. تحديد نوع بيانات الورقة
  4. 2. إنشاء ورقة
  5. 3. ملء ورقة البيانات
  6. 4. التحقق من توافر البيانات في الورقة
  7. 5. طباعة ورقة البيانات
  8. القسم 3: الخطوات الأساسية لفرز ورقة في ج
  9. القسم 4: تطبيق خوارزمية الفرز في ج
  10. القسم 5: نشر فرز ورقة في ج
  11. سؤال وجواب
  12. كيف أقوم بفرز القائمة بترتيب تصاعدي?
  13. كيف يمكنني فرز ورقة مع الأرقام في لغة البرمجة ج?
  14. كيف يمكنني فرز ورقة باستخدام مكتبة في لغة البرمجة ج?

فرز الورقة بترتيب تصاعدي في ج

يعد فرز القائمة بترتيب تصاعدي أحد أكثر المهام الخوارزمية شيوعا. في لغة البرمجة ج ، هناك عدة طرق لأداء هذه المهمة.

واحدة من أكثر الطرق شيوعا لفرز قائمة بترتيب تصاعدي هي استخدام خوارزمية فرز الفقاعات. هذه الخوارزمية سهلة التنفيذ وتتكون من ممر متسلسل عبر القائمة ، ومقارنة العناصر في أزواج وتبادلها ، إذا لزم الأمر. يتم تكرار التمريرات عبر القائمة حتى يتم فرز القائمة.

لتنفيذ خوارزمية فرز الفقاعة في ج ، يجب تنفيذ الخطوات التالية:

  1. إعلان وتهيئة القائمة ليتم فرزها.
  2. استخدام لحلقة لأداء يمر من خلال القائمة.
  3. داخل الحلقة ، استخدم حلقة أخرى لمقارنة العناصر في أزواج واستبدالها ، إذا لزم الأمر.
  4. كرر التمريرات عبر القائمة حتى يتم فرز القائمة.

Вот пример кода на языке С, демонстрирующий реализацию алгоритма сортировки пузырьком:

#include 

void bubbleSort(int arr[], int n) {

int i, j;

for (i = 0; i < n-1; i++) {

for (j = 0; j < n-i-1; j++) {

if (arr[j] > arr[j+1]) {

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

}

int main() {

int arr[] = {64, 34, 25, 12, 22, 11, 90};

int n = sizeof(arr)/sizeof(arr[0]);

bubbleSort(arr, n);

printf("Отсортированный список: ");

for (int i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

return 0;

}

بعد تنفيذ التعليمات البرمجية أعلاه ، سيتم عرض الشاشة:

قائمة مرتبة: 11 12 22 25 34 64 90

وبالتالي ، سيقوم الرمز أعلاه بفرز القائمة بترتيب تصاعدي باستخدام خوارزمية فرز الفقاعة. يمكن للمبرمج أيضا استخدام خوارزميات الفرز الأخرى ، مثل خوارزميات الإدراج أو دمج الفرز ، لتحقيق نفس النتيجة.

القسم 2: التحضير لفرز الورقة في ج

قبل البدء في فرز ورقة بلغة البرمجة ج ، تحتاج إلى إعداد هذه الورقة بشكل صحيح للمعالجة. في هذا القسم ، سننظر في الخطوات الأساسية للتحضير للفرز.

1. تحديد نوع بيانات الورقة

الخطوة الأولى في التحضير لفرز ورقة عمل في ج هو تحديد نوع البيانات الواردة في ورقة العمل هذه. سيسمح لك ذلك بتحديد خوارزمية الفرز المناسبة وإعلان المتغيرات بشكل صحيح للعمل مع البيانات.

2. إنشاء ورقة

وظيفة. من المهم التأكد من أن حجم الورقة كاف لاستيعاب جميع العناصر التي تحتاج إلى فرز.

3. ملء ورقة البيانات

بعد إنشاء الورقة ، تحتاج إلى ملئها بالبيانات. للقيام بذلك ، يمكنك استخدام دورات إدخال البيانات أو قراءة البيانات من ملف أو مصدر آخر. من المهم التأكد من قراءة البيانات وتخزينها بشكل صحيح بالتنسيق الصحيح.

4. التحقق من توافر البيانات في الورقة

قبل الفرز ، تحتاج إلى التأكد من أن الورقة المحددة تحتوي على بيانات. للقيام بذلك ، يمكنك التحقق من حجم الورقة أو استخدام التعبيرات الشرطية للتحقق من عدم وجود قيم فارغة أو فارغة في الورقة.

5. طباعة ورقة البيانات

من أجل راحة تصحيح الأخطاء والتحقق من نتائج الفرز ، يوصى بطباعة محتويات الورقة قبل الفرز وبعده. سيؤدي ذلك إلى التأكد من قراءة البيانات ومعالجتها بشكل صحيح.

بعد الانتهاء من جميع الخطوات المذكورة أعلاه ، تكون الورقة جاهزة للفرز. في القسم التالي ، سنلقي نظرة على خوارزميات الفرز المختلفة التي يمكن استخدامها لتنظيم البيانات في ورقة عمل.

القسم 3: الخطوات الأساسية لفرز ورقة في ج

يمكن تقسيم الخطوات الأساسية لفرز ورقة بلغة البرمجة ج إلى الخطوات التالية:

  1. اختيار خوارزمية الفرز
  2. تنفيذ خوارزمية الفرز
  3. اختبار خوارزمية الفرز
  4. باستخدام الخوارزمية في البرنامج

الخطوة 1: اختيار خوارزمية الفرز

الخطوة الأولى هي تحديد خوارزمية الفرز التي سيتم استخدامها لفرز الورقة في برنامج ج الخاص بك. هناك العديد من خوارزميات الفرز ، مثل فرز الفقاعات وفرز الإدراج وفرز التحديد. كل خوارزمية لها مزاياها وعيوبها ويمكن أن تكون فعالة اعتمادا على الموقف المحدد.

الخطوة 2: تنفيذ خوارزمية الفرز

بعد تحديد خوارزمية الفرز ، تحتاج إلى تنفيذها في برنامج ج الخاص بك. يعتمد تنفيذ الخوارزمية على الخوارزمية المختارة ، ولكن بشكل عام يمكنك استخدام الحلقات والمشغلين الشرطيين للتكرار من خلال عناصر القائمة ومقارنتها.

الخطوة 3: اختبار خوارزمية الفرز

بعد تنفيذ خوارزمية الفرز ، تحتاج إلى اختبارها للتأكد من أنها تعمل بشكل صحيح. يمكن استخدام حالات اختبار مختلفة للاختبار ، بما في ذلك قائمة بالعناصر التي تم فرزها بالفعل ، وقائمة بالعناصر بترتيب عكسي ، وقائمة بترتيب عشوائي للعناصر. من المهم التحقق من أن الخوارزمية تعمل بشكل صحيح في كل هذه الحالات.

الخطوة 4: استخدام الخوارزمية في البرنامج

بعد اختبار خوارزمية الفرز بنجاح ، يمكنك استخدامه في برنامج ج الخاص بك لفرز البيانات الحقيقية. اعتمادا على متطلبات البرنامج الخاص بك ، يمكنك قراءة البيانات من الملفات أو إدخال المستخدم ، وفرزها باستخدام الخوارزمية المنفذة وإخراج النتائج.

باتباع هذه الخطوات الأساسية ، ستتمكن من فرز الورقة بنجاح بترتيب تصاعدي في برنامج سي الخاص بك.

الباب 4: تطبيق خوارزمية الفرز في ج

الفرز هو واحد من أهم الخوارزميات في البرمجة. هناك العديد من خوارزميات الفرز ، ولكل منها مزاياها وعيوبها. يعد فرز الفقاعات أحد أبسط خوارزميات الفرز وأكثرها شيوعا.

تعتمد خوارزمية فرز الفقاعة على مبدأ مقارنة زوج من عناصر القائمة المجاورة ثم إعادة ترتيبها بالترتيب المطلوب. يتم تنفيذ عملية الفرز تدريجيا ، لذلك تسمى هذه الخوارزمية فرز الفقاعات.

تطبيق خوارزمية فرز الفقاعة في لغة البرمجة ج بسيط للغاية. سوف تحتاج إلى:

  1. أعلن المصفوفة ليتم فرزها.
  2. استخدم الحلقات لتصفح جميع عناصر المصفوفة ومقارنة زوج من العناصر المجاورة.
  3. إذا لزم الأمر ، أعد ترتيب العناصر للحصول على الترتيب الصحيح.
  4. كرر الخطوتين 2 و 3 حتى يتم فرز المصفوفة بأكملها.

رمز مثال لفرز مجموعة من الأعداد الصحيحة بترتيب تصاعدي:

# تشمل 

باطل بابليسورت (إنت مجموعة [] ، إنت حجم) {

ل (إنت أنا = 0 ؛ أنا < حجم-1 ؛ أنا {) {

إلى عن على (الباحث ي = 0 ؛ ي < الحجم - ط - 1 ؛ ي++) {

إذا (صفيف [ي] > صفيف [ي + 1]) {

إنت تيمب = صفيف [ي];

array[j] = array[j+1];

array[j+1] = temp;

}

}

}

}

int main() {

int array[] = {5, 2, 8, 6, 1};

int size = sizeof(array) / sizeof(array[0]);

bubbleSort(array, size);

printf("Отсортированный массив: ");

for (int i = 0; i < size; i++) {

printf("%d ", array[i]);

}

return 0;

}

В этом примере мы объявляем массив `array` с пятью целыми числами. Затем мы вызываем функцию `bubbleSort`, передавая ей массив и его размер. وظيفة` بوبليسورت ' فرز مجموعة باستخدام خوارزمية فرز فقاعة.

إخراج مجموعة فرزها باستخدام` ل 'حلقة و` برينتف' وظيفة. سوف تبدو النتيجة مثل هذا:

مصفوفة مرتبة: 1 2 5 6 8

الآن يمكنك تطبيق خوارزمية الفرز فقاعة لفرز أي مجموعة من الأعداد الصحيحة في ترتيب تصاعدي في لغة البرمجة ج. حظاً موفّقاً!

القسم 5: نشر ورقة الفرز في ج

بعد أن اكتشفنا أساسيات فرز الورقة وكتبنا وظيفة للفرز بترتيب تصاعدي ، حان الوقت لنشر الفرز لدينا في التعليمات البرمجية الحقيقية في لغة البرمجة ج.

بادئ ذي بدء ، دعنا ننشئ برنامجا بسيطا يقوم بفرز الورقة بترتيب تصاعدي وعرض النتيجة المصنفة على الشاشة. للقيام بذلك ، سوف نحتاج إلى الخطوات التالية:

  1. تحديد حجم ورقة وملء مع القيم.
  2. استدعاء وظيفة الفرز عن طريق تمرير ورقة كوسيطة.
  3. اعرض الورقة المصنفة على الشاشة.

هنا مثال على التعليمات البرمجية التي تنفذ الخطوات الموضحة:

# تشمل

// وظيفة لفرز الورقة

قائمة الفرز باطلة (قائمة كثافة العمليات [] ، حجم كثافة العمليات) {

الباحث الأول ، ي ، درجة الحرارة;

إلى عن على (أنا = 0 ؛ أنا < الحجم - 1 ؛ أنا {) {

إلى عن على (ي = 0 ؛ ي < الحجم - ط - 1 ؛ ي++) {

إذا (قائمة [ي] > قائمة [ي + 1]) {

// تبادل القيمة

درجة الحرارة = قائمة [ي];

قائمة [ي] = قائمة [ي + 1 ] ;

قائمة [ي + 1] = درجة الحرارة;

}

}

}

}

كثافة العمليات الرئيسية () {

حجم كثافة العمليات, أنا;

برينتف ("أدخل حجم الورقة:");

المسح الضوئي ("٪د " ، والحجم);

قائمة كثافة العمليات [الحجم];

برينتف ("أدخل قيم الورقة:

");

ل (أنا = 0 ؛ أنا < الحجم ؛ أنا i) {

سكانف ("٪د " ، وقائمة [أنا]);

}

// استدعاء وظيفة الفرز

قائمة الفرز (القائمة والحجم);

برينتف ("قائمة مرتبة:

");

ل (أنا = 0 ؛ أنا < الحجم ؛ أنا i) {

برينتف ("٪د " ، قائمة [ط]);

}

العودة 0;

}

في هذا المثال ، نعلن عن وظيفة قائمة الفرز () ، والتي تأخذ وسيطتين: ورقة الفرز وحجمها. لاحظ أننا نقوم بتمرير الورقة بالرجوع إليها بحيث تؤثر التغييرات على الوظيفة على الورقة الأصلية في الصفحة الرئيسية ().

في وظيفة قائمة الفرز () ، نستخدم خوارزمية فرز الفقاعات لفرز الورقة. بعد اكتمال الفرز ، سيتم فرز الورقة بترتيب تصاعدي.

في الرئيسية () ، نطلب من المستخدم إدخال حجم الورقة وقيمها باستخدام وظيفة المسح الضوئي (). ثم نسمي وظيفة سورتليست () وتمريرها قائمة لفرز. بعد ذلك ، نعرض الورقة التي تم فرزها على الشاشة باستخدام وظيفة برينتف ().

عند تشغيل هذا البرنامج وإدخال حجم الورقة وقيمها ، سيعرض الورقة المصنفة على الشاشة.

الآن أنت تعرف كيفية توسيع فرز ورقة في لغة البرمجة ج. يمكنك استخدام هذا الرمز في مشاريعك لفرز القائمة بترتيب تصاعدي.

سؤال وجواب

كيف أقوم بفرز القائمة بترتيب تصاعدي?

من أجل فرز ورقة بترتيب تصاعدي بلغة البرمجة ج ، يمكنك استخدام خوارزمية فرز الفقاعة أو خوارزمية فرز الإدراج. يمكن استخدام الحلقات والمشغلين الشرطيين لتنفيذ فرز الفقاعات. تستخدم خوارزمية فرز الإدراج أيضا الحلقات والمشغلات الشرطية ، ولكن في هذه الحالة يتم إدراج العناصر في أماكنها في الجزء الذي تم فرزه بالفعل من القائمة. ستقوم هذه الخوارزميات بفرز الورقة بترتيب تصاعدي.

كيف يمكنني فرز ورقة مع الأرقام في لغة البرمجة ج?

لفرز ورقة من الأرقام بلغة البرمجة سي ، يمكنك استخدام خوارزميات فرز مختلفة ، مثل فرز الفقاعات أو فرز الإدراج أو فرز التحديد. يمر فرز الفقاعة بالقائمة عدة مرات ، مع تبديل العناصر المجاورة حتى يتم فرز القائمة. يمر فرز الإدراج عبر القائمة ويدرج كل عنصر في مكانه في الجزء الذي تم فرزه بالفعل من القائمة. يعثر فرز التحديد على أصغر عنصر ويبادله بالأول ، ثم يجد العنصر الأصغر التالي ويبادله بالثاني ، وهكذا. ستسمح لك كل هذه الخوارزميات بفرز ورقة بأرقام بترتيب تصاعدي.

كيف يمكنني فرز ورقة باستخدام مكتبة في لغة البرمجة ج?

في لغة البرمجة ج ، هناك مكتبة لفرز المصفوفات القياسية ` والتي لديها وظيفة كسورت (). تأخذ وظيفة كسورت () كمدخل مؤشر إلى العنصر الأول من القائمة ، وعدد العناصر في القائمة ، وحجم كل عنصر ، ووظيفة المقارنة التي تحدد ترتيب الفرز. يجب أن تقوم دالة المقارنة بإرجاع عدد صحيح ، سالب إذا كان العنصر الأول أقل من الثاني ، موجب إذا كان العنصر الأول أكبر من الثاني ، وصفر إذا كانت العناصر متساوية. هذه المكتبة يجعل من السهل لفرز ورقة في لغة البرمجة ج.