#include #include int getInt(int, int); void swap(int &a, int &b); void inputArray(int &n, int a[]); void sortArrayAscending(int &n, int a[]); void Insert(int a[], int &n, int v, int k); //Chen so v vao index k void displayArray(int &n,int a[]); int main () { int n; int v; int a[100]; printf("\nPlease enter size of the array:"); n = getInt(1,100); inputArray(n,a); sortArrayAscending(n,a); printf("\nThe array after sorting:\n"); displayArray(n,a); printf("\nPlease enter new value:"); v = getInt(-100000,1000000); Insert(a,n,v,1); sortArrayAscending(n,a); printf("\nNew array:"); displayArray(n,a); } int getInt(int minValue, int maxValue) { int value; char check; do { int rc = scanf("%d%c",&value,&check); fflush(stdin); if(rc != 2 || check != '\n') { printf("\nInvalid Value\n"); } else if (rc > maxValue || rc < minValue) { printf("\nValue out of range"); } else { // rc = 2 && check = '\n' return value; // break out of the function } } while(1); } void inputArray(int &n, int a[]) { for(int i=0; ia[j]) { swap(a[i], a[j]); } } } } void Insert(int a[], int &n, int v, int k){ /* v:insertValue * k : insert index; */ for (int i = n; i > k; i --){ a[i] = a[i - 1]; } a[k] = v; n++; }