Program not swapping correctly

In part (e), 2 and 34 should be swapping places in the array but instead 5 and 34 are swapping. Any help would be greatly appreciated, thank you in advance!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <stdio.h>

void print(int a[], int size)
{
     int i;
     for (i = 0; i < size; i++)
     {
          printf("%d", a[i]);
          printf("\t");
     }
}

int findSmallest(int a[], int size)
{
int min = a[0]; // Assign min to first value in a array
     int i;
     for (i = 0; i < size; i++)
     {
          if(a[i] < min )
               min = a[i]; 
     }
return min;
}

int main()
{
     int a[] = {5, 15, 34, 54, 14, 2, 52, 72};
     int *p = &a[1], *q = &a[5];
     int temp;
     int min;
     printf("*~*~The original array*~*~\n");
     print(a, 8);
     printf("\n");

     /* (a) Swap element 1 with element 5 */
     temp = *p;
     *p = *q;
     *q = temp;
     printf("\n");
     printf("*~*~Swap element 1 and 5*~*~\n");
     print(a, 8);
     printf("\n");

     /* (b) Swap element 2 with element 0 */
     temp = a[2];
     a[2] = a[0];
     a[0] = temp;
     printf("\n");
     printf("*~*~Swap element 2 and 0*~*~\n");
     print(a, 8);
     printf("\n");

     /* (c) Swap element 4 with element 7 */
     temp = a[4];
     a[4] = a[7];
     a[7] = temp;
     printf("\n");
     printf("*~*~Swap element 4 and 7*~*~\n");
     print(a, 8);
     printf("\n\n");

     /* (d) Find the smallest element */
     printf("*~*~Find the Smallest Element*~*~\n");
     min = findSmallest(a, 8);
     printf("The smallest element is %d\n", min);
     printf("\n");

     /* (e) Swap the smallest number with the first element in the array */
     printf("*~*~Set the smallest number to the first position in array*~*~\n");
     temp = a[0];
     a[0] = a[min];
     a[min] = temp;
     print(a, 8);
     printf("\n");

     return 0;
 }
Have a look at your other thread.
thank you so much lastchance for your patience! i got it now!
Registered users can post here. Sign in or register to post.