#include
/* Program to show various way to pass arguments to function in C */
/* demonstrate pass by pointer */
void swap(int *x, int *y);
/* demonstrate pass by value */
void swap(int x, int y);
/* demonstrate pass an array to the function */
void bubble_sort(int a[], int size);
void print_array(int a[],int size);
void main()
{
int x = 10;
int y = 20;
printf("x,y before swapping\n");
printf("x = %d\n",x);
printf("y = %d\n",y);
// pass by value
swap(x,y);
printf("x,y after swapping using pass by value\n");
printf("x = %d\n",x);
printf("y = %d\n",y);
// pass by pointer
swap(&x,&y);
printf("x,y after swapping using pass by pointer\n");
printf("x = %d\n",x);
printf("y = %d\n",y);
// declare an array
const int size = 5;
int a[size] = {1,3,2,5,4};
printf("array before sorting\n");
print_array(a,size);
bubble_sort(a,size);
printf("array after sorting\n");
print_array(a,size);
}
/* functions implementation */
void swap(int *x, int *y){
int temp = *x;
*x = *y;
*y = temp;
}
void swap(int x, int y){
int temp = x;
x = y;
y = temp;
}
void bubble_sort(int a[], int size)
{
int i,j;
for(i=0;i<(size-1);i++)
for(j=0;j<(size-(i+1));j++)
if(a[j] > a[j+1])
swap(&a[j],&a[j+1]);
}
void print_array(int a[],int size)
{
for(int i = 0;i < size; i++)
{
printf("%d\t",a[i]);
printf("\n");
}
}
No comments:
Post a Comment