Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void print(int a[], int size);
- void fill(int a[], int size);
- void sort(int orig[], int *asc[], int n);
- void printAdd(int a[], int size);
- int main(){
- int n;
- int *original = NULL;
- int **ascend = NULL;
- printf("Enter the number of elements in the array: ");
- scanf("%d", &n);
- original = (int *) calloc(n, sizeof(int *));
- ascend = (int **) calloc(n, sizeof(int *));
- fill(original, n);
- printf("Here is your original array");
- print(original, n);
- printAdd(original, n);
- sort(original, ascend, n);
- printf("Here is your ascending array");
- print(*ascend, n);
- printAdd(*ascend, n);
- printf("Here is your original array");
- print(original, n);
- printAdd(original, n);
- return 0;
- }
- void sort(int orig[], int **asc, int n){ //sort function
- int x;
- for(x = 0; x < n; x++){
- asc[x] = &orig[x];
- }
- int i, j;
- for (i=0; i<n-1; i++) {
- for (j=0; j<n-1; j++)
- if (*asc[j+1] < *asc[j]) { /* compare the two neighbors */
- printf("Swap %d with %d\n", *asc[j+1], *asc[j]);
- int *tempPtr = asc[j];
- asc[j] = asc[j+1];
- asc[j+1] = tempPtr;
- }
- }
- }
- void print(int a[], int size){ //prints an array
- int x;
- printf("{ ");
- for(x = 0; x < size; x++){
- printf("%d ", *(a + x));
- }
- printf("} \n");
- }
- void printAdd(int a[], int size){ //prints addresses
- int x;
- printf("{ ");
- for(x = 0; x < size; x++){
- printf("%p ", (a + x));
- }
- printf("} \n");
- }
- void fill(int a[], int size){ //gets values from user
- int x;
- int temp;
- printf("Enter the values delimited by spaces: \n");
- for(x = 0; x < size; x++){
- scanf("%d", &temp);
- a[x] = temp;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement