I have tried making a program to sort numbers of an array.
I have done my best but there is this problem: Although I do a loop to swap the numbers and arrange them, when I output the array, nothing changes and the array remains the same.
The code will make everything clearer
This is the main function:
int main(){
int arr[10];
//For loop to get from user numbers to be put into the array
for ( int i = 0; i<10; i++){
cout << "Enter the number to be recorded: ";
cin >> arr[i];
cout << endl;
}
// Set counter n to 0 ( counts numbes of number swaps)
int n = 0;
do {
//re sets counter to 0
n=0;
//Check the entire loop if arr[i] bigger than arr[i+1] and swaps their values if true then adds 1 to n
for ( int i = 0; i>9; i++){
if(arr[i]>arr[i+1]){
swap(&arr[i], &arr[i+1]);//swaps by sending the addresses of the two array elements the pointers in the swap function
n++;
}
}
}while(n>0); // if counter = 0 then end (therefore the numbers are arranged correctly since no swapping happened)
cout << "The numbers ordered are:\n\n";
// Loop to output the arranged array
for (int i =0; i<10; i++){
cout << arr[i] << ", ";
}
cout<<endl;
system("PAUSE");
return 0;}
This is the swap function:
void swap ( int *p, int *t){
int temp;
temp = *p;
*p = *t;
*t = temp;}
I hope you guys can help me with my problem here and tell me what’s wrong with this code
Thank you all
Look closely at your for loop…its contents will never be executed.
The condition
i>9should bei<9.