Functions

I have wrote the code below and used functions to print an array and sort it from smallest to biggest. For some reason the numbers are not being sorted what could be the error.

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
 #include <iostream>
using namespace std;

void arrayPrint(int A[], int n){
	int i=0;
	while(i<n){ 
		cout<< A[i] << " ";
		i=i+1;
	}
}
int arraySmallest (int A[], int start, int end){
	int index=start;
	int i=start;
	while (i<=end){
		if (A[i]<A[index]){
			index=i;
		}
		i=i+1;
	}
	return index;
}
void swap (int x, int y) {
	int temp=x;
	x=y;
	y=temp;
}
void selectionSort (int A[], int n){
	int i=0;
	while(i<n){
		int k = arraySmallest(A,i,n-1);
		swap(A[i],A[k]);
		i=i+1;
	}
}
int main(){
	cout << "Please enter the number of integers" << endl;
	int n;
	int i=0;
	cin >> n;
	cout << "Please enter " << n << " integers" << endl;
	int A[1024];
	while (i<n) {
		cin >> A[i];
		i=i+1;
	}
	cout << "Before Sorting" << endl;
	arrayPrint(A,n);
	selectionSort(A,n);
	cout << "After Sorting" << endl;
	arrayPrint(A,n);





	return 0;
}
Your sort algorithm is not implemented correctly. Is there some reason you are trying to implement your own sort algorithm instead of just using std::sort?
http://www.cplusplus.com/reference/algorithm/sort/
http://en.cppreference.com/w/cpp/algorithm/sort
Topic archived. No new replies allowed.