Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

dynamic allocation

$
0
0
#include <iostream>
#include <iomanip>
using namespace std;

//Function prototypes
void arrSelectSort(double *, int);


int main()
{
double *TestScores, //To dynamically allocate an array
total = 0.0, //Accumulator
average; //To hold average test scores

int numTest, //To hold number of test scores
count; //Counter variable

//Get the number of test scores you wish to average and put in order
cout << "How many test scores are you entering? ";
cin >> numTest;


//Dynamically allocate an array large enough to hold that many scores
TestScores = new double[numTest];

//Get the test scores
cout << "Enter the test scores below.\n";
for (count = 0; count < numTest; count++)

{
cout << "Test Score " << (count + 1) << ": ";
cin >> TestScores[count];
}

//Calculate the total test scores
for (count = 0; count < numTest; count++)
{
total += TestScores[count];
}

//Calculate the average test scores
average = total / numTest;

//Dsiplay the results
cout << fixed << showpoint << setprecision(2);
cout << "The average of all the test scores is " << average << endl;


//Free dynamically allocated memory
delete [] TestScores;
TestScores = 0; //make TestScores point to null


//An array of pointers to int
int *arrPtrTestScores[count];

//Sort the elements of the array of pointers
arrSelectSort(TestScores, TestScores[count]);

//Display the Test Scores in ascending order
cout << "The test scores in ascending order are: \n";
return 0;
}

//This function performs an ascending order selection sort
void arrSelectSort(double *arr, int size)
{
int startScan;
double minIndex;
double minElem;

for (startScan = 0; startScan < (size - 1); startScan++)
{
minIndex = startScan;
minElem = arr[startScan];
for(int index = startScan + 1; index < size; index++)
{
if (arr[index] < minElem)
{
minElem = arr[index];
minIndex = index;
}
}

arr[(int)minIndex] = arr[startScan];
arr[startScan] = minElem;
}
}

Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>