Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เพื่อเรียงลำดับอาร์เรย์จากมากไปหาน้อย


ปัญหา

จัดเรียงอาร์เรย์ที่ระบุในลำดับจากมากไปน้อยหรือน้อยไปหามากตามโค้ดที่เขียน

วิธีแก้ปัญหา

อาร์เรย์คือกลุ่มของรายการข้อมูลที่เกี่ยวข้องกันซึ่งเป็นชื่อสามัญร่วมกัน ค่าเฉพาะในอาร์เรย์จะถูกระบุด้วยความช่วยเหลือของ "หมายเลขดัชนี"

การประกาศอาร์เรย์

ไวยากรณ์สำหรับการประกาศอาร์เรย์มีดังนี้ −

datatype array_name [size];

ตัวอย่างเช่น

float marks [50]

มันประกาศ 'เครื่องหมาย' เป็นอาร์เรย์ที่มีองค์ประกอบลอย 50 รายการ

int number[10]

มันประกาศ 'ตัวเลข' เป็นอาร์เรย์ที่ประกอบด้วยค่าคงที่จำนวนเต็มสูงสุด 10 ค่า

แต่ละองค์ประกอบถูกระบุโดยใช้ "ดัชนีอาร์เรย์"

การเข้าถึงองค์ประกอบอาร์เรย์ทำได้ง่ายโดยใช้ดัชนีอาร์เรย์

โปรแกรม

ต่อไปนี้เป็นโปรแกรม C เพื่อเรียงลำดับอาร์เรย์จากมากไปน้อย -

#include <stdio.h>
void main (){
   int num[20];
   int i, j, a, n;
   printf("enter number of elements in an array\n");
   scanf("%d", &n);
   printf("Enter the elements\n");
   for (i = 0; i < n; ++i)
      scanf("%d", &num[i]);
   for (i = 0; i < n; ++i){
      for (j = i + 1; j < n; ++j){
         if (num[i] < num[j]){
            a = num[i];
            num[i] = num[j];
            num[j] = a;
         }
      }
   }
   printf("The numbers in descending order is:\n");
   for (i = 0; i < n; ++i){
      printf("%d\n", num[i]);
   }
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

enter number of elements in an array
4
Enter the elements
11
34
67
89
The numbers in descending order is:
89
67
34
11