#include <iostream>
using namespace std;
void swap(int *a, int *b){
int temp = *a;
*a = *b;
*b = temp;
}
void selectionSort(int arr[], int size){
int min;
for(int k=0; k<size-1; k++){
min = k;
for(int j=k+1; j<size; j++){
if(arr[j]<arr[min]){
min=j;
}
}
swap(&arr[min],&arr[k]);
}
}
void selectionSortReverse(int arr[], int size){
int min;
for(int k=0; k<size-1; k++){
min = k;
for(int j=k+1; j<size; j++){
if(arr[j]>arr[min]){
min = j;
}
}
swap(&arr[min],&arr[k]);
}
}
void bubbleSort(int arr[], int size){
bool swapped;
for(int i=0; i<size-1; i++){
swapped = false;
for(int j=0; j<size-i-1; j++){
if(arr[j] > arr[j+1]){
swap(&arr[j], &arr[j+1]);
swapped = true;
}
}
if(swapped == false) break;
}
}
void printArray(int arr[], int size){
for(int i=0; i<size; i++){
cout << arr[i]<<" ";
}
cout<<endl;
}
int averageArray(int arr[], int size){
int average;
for(int i=0; i<size; i++){
average += arr[i];
}
return average/size;
}
void oddEven(int arr[], int size){
for(int i=0; i<size; i++){
if(arr[i] % 2 == 0)
cout<<arr[i]<<" is even."<<endl;
else
cout<<arr[i]<<" is odd."<<endl;
}
}
int main() {
cout << "Hello World from sort array !\n";
int arr[] ={1, 34,5,77,88,34,7,8,34};
int n = sizeof(arr)/sizeof(arr[0]);
cout<<"Selection Sort : "<<endl;
selectionSort(arr, n);
printArray(arr, n);
cout<<"Selection Sort Reverse: "<<endl;
selectionSortReverse(arr, n);
printArray(arr,n);
cout<<"Bubble Sort : "<<endl;
bubbleSort(arr, n);
printArray(arr, n);
cout<<"Average Array : "<<endl;
printArray(arr, n);
int avr = averageArray(arr, n);
cout<<"Average : "<<avr<<endl;
cout<<"Odd or even: "<<endl;
oddEven(arr, n);
return 0;
}