#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <stddef.h>

#define MAX_SIZE 101
#define SWAP(x,y,t) ((t)=(x), (x)=(y), (y)=(t))

void sort(int[], int);

int main(void)
{
    printf("Enter the number of numbers to generate:");
    int n;
    scanf("%d", &n);
    if(n<1 || n>MAX_SIZE)
    {
        fprintf(stderr, "Improper value of n\n");
        return EXIT_FAILURE;
    }

    int list[n];
    srand(time(NULL));
    for(int i=0; i<n; i++)
    {
        list[i] = rand() % 1000;
        printf("%d ", list[i]);
    }

    sort(list,n);

    printf("\n Sorted array: \n");
    for(int i=0; i<n; i++)
        printf("%d ", list[i]);
    printf("\n");
}

void sort(int list[], int n)
{
    int min, temp;
    for(int i=0; i<n-1; i++)
    {
        min=i;
        for(int j=i+1; j<n;j++)
            if(list[j] < list[min])
                min=j;
        SWAP(list[i], list[min], temp);
    }
}
