Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- void main()
- {
- int array[] = { 1,3,5,6,11 };
- int array2[] = { 1,3,3,6,11 };
- int array3[] = { 1,3,2,5,11 };
- int exSorted, re;
- re = isSorted(array, (sizeof(array) / sizeof(int)), &exSorted);
- printf("[1] array returned: %d || array ex sorted: %d\n\n", re, exSorted);
- re = isSorted(array2, (sizeof(array2) / sizeof(int)), &exSorted);
- printf("[2] array returned: %d || array ex sorted: %d\n\n", re, exSorted);
- re = isSorted(array3, (sizeof(array3) / sizeof(int)), &exSorted);
- printf("[3] array returned: %d || array ex sorted: %d\n\n", re, exSorted);
- printf("-----------------------------------\n");
- exSorted = 1;
- re = isSorted_rec(array, (sizeof(array) / sizeof(int)), &exSorted);
- printf("[1] array returned: %d || array ex sorted: %d\n\n", re, exSorted);
- re = isSorted_rec(array2, (sizeof(array2) / sizeof(int)), &exSorted);
- printf("[2] array returned: %d || array ex sorted: %d\n\n", re, exSorted);
- re = isSorted_rec(array3, (sizeof(array3) / sizeof(int)), &exSorted);
- printf("[3] array returned: %d || array ex sorted: %d\n\n", re, exSorted);
- }
- int isSorted(int* arr, int n, int *exSorted)
- {
- int re;
- re = 0;
- *exSorted = 1;
- for (int i = 0; i < n - 1; i++)
- {
- if (arr[i] > arr[i + 1])
- {
- *exSorted = 0;
- return 0;
- }
- if (arr[i] == arr[i + 1])
- *exSorted = 0;
- }
- return 1;
- }
- int isSorted_rec(int* arr, int n, int* exSorted)
- {
- if (n <= 1)
- return 1;
- int num, num2;
- num = arr[n - 1];
- num2 = arr[n - 2];
- if (num < num2)
- {
- *exSorted = 0;
- return 0;
- }
- if (num == num2)
- *exSorted = 0;
- return isSorted_rec(arr, n-1, exSorted);
- }
Advertisement
Add Comment
Please, Sign In to add comment