Explanation
The program applies bubble sort on an array entered by the user, sorting it in ascending order.
Header
The code begins with including the standard input-output header file using #include <stdio.h>.
Variable Declaration
The main() function is defined, and several variables are declared:
int d: Stores the size of the array.int e[d]: Declares an array of integers withdelements to hold the array values.
Program Description
The program prints a description message for the user to understand its functionality.
User Input
The user is prompted to enter the size and elements of the array:
printf("Enter the size of the array: ");: Prompts the user to enter the size of the array.scanf("%d", &d);: Reads the size of the array and stores it ind.int e[d];: Declares an array withdelements.printf("Enter the elements of the array:\n");: Prompts the user to enter the elements of the array.for (int i = 0; i < d; i++): Loop to read each element of the array.scanf("%d", &e[i]);: Reads each element and stores it in the array.
Bubble Sort Implementation
The program sorts the array in ascending order using bubble sort:
for (int m = 0; m < d - 1; m++): Outer loop to iterate over each element of the array except the last one.for (int j = 0; j < d - m - 1; j++): Inner loop to compare and swap adjacent elements.if (e[j] > e[j + 1]): Checks if the current element is greater than the next element.int temp = e[j];: Swaps the elements if they are in the wrong order.e[j] = e[j + 1];: Assigns the next element to the current position.e[j + 1] = temp;: Assigns the current element to the next position.
Sorted Array Printing
The program prints the sorted array:
printf("Sorted array: ");: Prints a label for the sorted array.for (int i = 0; i < d; i++): Loop to print each element of the sorted array.printf("%d ", e[i]);: Prints each element followed by a space.printf("\n");: Prints a newline after printing the array.
Program End
The program ends with return 0; to indicate successful execution.
Code
/*
* -----------------------------------------------------------
* Logic Building with Computer Programming (CSU1128)
* Instructor: Dr. Pankaj Vaidya | Author: Divya Mohan
*
* This code is a part of the educational initiative by dmj.one
* with aim of empowering and inspiring learners in the field of
* Computer Science and Engineering through the respective courses.
*
* (c) 2022, Divya Mohan for dmj.one. All rights reserved.
* -----------------------------------------------------------
*/
#include <stdio.h>
int main()
{
printf("\n\n Program to apply bubble sort on the array entered by the user. Example:3, 2, 9, 1 = 1, 2, 3, 9\n\n");
// Read the size of the array from the user
printf("Enter the size of the array: ");
int d;
scanf("%d", &d);
// Declare an array of integers with d elements
int e[d];
// Read the elements of the array from the user
printf("Enter the elements of the array:\n");
for (int i = 0; i < d; i++)
{
scanf("%d", &e[i]);
}
// Implement bubble sort
for (int m = 0; m < d - 1; m++)
{
for (int j = 0; j < d - m - 1; j++)
{
if (e[j] > e[j + 1])
{
// Swap the elements if they are in the wrong order
int temp = e[j];
e[j] = e[j + 1];
e[j + 1] = temp;
}
}
}
// Print the sorted array
printf("Sorted array: ");
for (int i = 0; i < d; i++)
{
printf("%d ", e[i]);
}
printf("\n");
return 0;
}
Output
Program to apply bubble sort on the array entered by the user. Example:3, 2, 9, 1 = 1, 2, 3, 9
Enter the size of the array: 5
Enter the elements of the array:
1 7 4 9 3
Sorted array: 1 3 4 7 9