Functions Poiters to Arrays, simple sorting

for this assignment you will complete and test functions

as always start by copying over all the files provided for you



Since these are template functions you will put the functions bodies in "functions.h"

there are functons 
bool IsSortedAccending(T * array, int size)
bool IsSortedDecending(T * array, int size 
in cmpslib19.h you should use to test to see if it is sorted..

run the example and mimic what it does in your main

MAKE SURE your logging is done like the example.log


File: functions.h 

/*
	 All rights reserved. No part of this document may be reproduced, distributed,   or transmitted in any form or by any       means, including photocopying,             recording, or other electronic or mechanical methods, without the prior         written permission of the author, Michael Sarr
 */
#pragma once
#include "cmpslib19.h"
#include "fraction.h"
#include "easylogging++.h"


// NOTE THAT YOU CANNOT USE THE INDEX OPERATOR IN  BOTH SORTS

// AS DESCRIBED BELOW , READ IT


// SortAscending

// template function

//   use the index operator [] to access and modify the elements DO NOT use the Indirection  (*) operator

//   use the BUBBLE sort logic below and the logging suggested there as well


// SortDescending

// template function

//   use pointer arithmetic and the Indirection operator (*)   DO NOT use the  index operator ([])

//   use the BUBBLE sort logic below and the logging suggested there as well


// PrintArray

// template function

//   the format should be like:

//   Position:1 value:29

//   look at the output of the runnable example if you are unsure


// FillArrayWithRandom (pointer to the array of type Cfraction, size of the array)

// NOT A TEMPLATE function

//   fill the array pointed to by (target) with (count) elements

//   you MUST use the CreateRandomNumber function in cmpslib19.h

//   to change the value of a fraction you will need to call

//   SetNumerator and SetDenominator functions

//   make the numerator a random value from 0-100

//   make the denominatory random value from 1-100



// FillArrayWithRandom (pointer to the array, size of the array, min val, max val

// template function

//   fill the array pointed to by (target) with (count) elements

//   you MUST use the CreateRandomNumber function in cmpslib19.h





// LargestInArray

// template function

// array parameter is "const T *"

//   return a copy of the largest value found

//   do not modify the values in the array


// SmallestInArray

// template function

// array parameter is "const T *"

//   return a copy of the smallest value found

//   do not modify the values in the array






for full credit: 1 do all the test for both integer and fraction types 2 make sure you log your functions like the example does..LOOK at the example log file 3 be sure not to use the [] index operator in both sorts.. look at the comments in the file 4 use the IsSortedAccending and IsSortedDecending functions from cmpslib.h functions.h -- put your function bodies here main1.cpp -- create a main to test that your functions do what they are supposed to do
use a BUBBLE SORT with two nested for loops, do NOT use a do-while or while loop for each iteration of the inner loop compare an element in the array with the element IMMEDIATELY following it for example compare position 0 with 1, 1 with 2, 2 with 3, 3 with 4, 4 with 5 and so on DO NOT VARY FROM THE BELOW LOGIC pseudo code: count is the number of elements in the array myarray is the name of the array for (outerloop 0 to less than count) { for (innerloop 0 to less than count -1) { LOG that you are comparing position ( innerloop ) with (innerloop+1) ..ie "comparing postition 5 with 6, the values are 57 and 22" compare array position innerloop with innerloop+1 swap the values if necessary LOG that you are swapping position (innerloop) with (innerloop+1) ..ie "swapping postition 5 with 6, the values are 57 and 22" } }