C Program to Sort the Array in an Ascending Order

In this program we will implement a one-dimentional array of some fixed size, filled with some random numbers, then will sort all the filled elements of the array. 

There are many ways by which the array can be sorted in ascending order, like:  

  • Selection Sort
  • Bubble Sort
  • Merge Sort
  • Radix Sort
  • Insertion Sort, etc

Steps to find the solution :

1. Create an array of fixed size (maximum capacity), lets say 10.

2. Take n, a variable which stores the number of elements of the array, less than maximum capacity of array.

3. Iterate via for loop to take array elements as input, and print them.

4. The array elements are in unsorted fashion, to sort them, make a nested loop.

5. In the nested loop, the each element will be compared to all the elements below it.

6. In case the element is greater than the element present below it, then they are interchanged

7. After executing the nested loop, we will obtain an array in ascending order arranged elements.

Below is the source code


  #include<stdio.h>
  void main() 
  {
        int i, j, a, n, number[30];
        printf("Enter the value of N \n");
        scanf("%d", &n);
 
        printf("Enter the numbers \n");
        for (i = 0; i < n; ++i)
            scanf("%d", &number[i]);
 
        for (i = 0; i < n; ++i) 
        {
            for (j = i + 1; j < n; ++j)
            {
                if (number[i] > number[j]) 
                {
 
                    a =  number[i];
                    number[i] = number[j];
                    number[j] = a;
                }
            }
        }
        printf("The numbers arranged in ascending order are given below \n");
        for (i = 0; i < n; ++i)
            printf("%d\n", number[i]);
    }
    
    Output :
    
    Enter the value of N
    6
    Enter the numbers
    3
    780
    90
    56
    80
    300
    The numbers arranged in ascending order are given below
    3
    56
    80
    90
    300
    780
    

Program Explanation

1. Declare an array of some fixed capacity, lets say 30.

2. From users, take a number N as input, which will indicate the number of elements in the array (N <= maximum capacity)

3. Iterating through for loops (from [0 to N) ), take integers as input from user and print them. These input are the elements of the array.

4. Now, create a nested for loop with i and j as iterators.

5. Start the sorting in ascending order by extracting each element at position i of outer loop.

6. This element is being compared to every element from position i+1 to size-1 (means all elements present below this extracted element)

7. In case any of the extracted element is greater than the element below it, then these two interchange their position, else the loop continues.

8. After this nested loop gets executed, we get all the elements of the array sorted in ascending order.

Post a Comment

0 Comments