Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Using the previous array program (Sort and Search), rewrite the program processing the array using pointer notation to manipulate and display the original and sorted

Using the previous array program (Sort and Search), rewrite the program processing the array using pointer notation to manipulate and display the original and sorted content of the array.

Note: *(array + x) where array is the name of the array and x is the element of the array.

Also

1. For search and sort funcitons, use the pointer (array address) as the starting point and the last element as the ending point,

2. Manipulating arrays, do not subscripts to assign or compare array elements,

3. Set each array to a pointer and pass the pointer as a function parameter,

4. Please output all currency values using two decimal places.

This is the previous a code

#include

#include

#include

#include

using namespace std;

typedef struct Student

{

string name;

int year;

double fee;

}Student;

void bubbleSort(Student Array[], int n)

{

for (int i = 0; i < n - 1; i++)

for (int j = 0; j < n - i - 1; j++)

if (Array[j].year > Array[j + 1].year)

{

Student temp = Array[j];

Array[j] = Array[j + 1];

Array[j + 1] = temp;

}

}

//Prints the array of structures to screen.

void printRecords(Student Array[], int n)

{

for (int i = 0; i < n; i++)

cout << Array[i].name << " " << Array[i].year << " " << Array[i].fee << endl;

}

//Linear Search which takes the array of structures, and the year as input, and return

//the index in which the year is found, or -1 if the year is not in the array.

int linearSearch(Student Array[], int n, int year)

{

for (int i = 0; i < n; i++)

if (Array[i].year == year)

return i;

return -1;

}

int main()

{

ifstream fin;

fin.open("TuitionFee.txt");

Student Array[10];

int count = 0;

for (int i = 0; i < 10; i++) //For a total of 10 records, reads the data from file to structure.

{

if (fin.eof())

break;

fin >> Array[i].name;

fin >> Array[i].year;

fin >> Array[i].fee;

count++;

}

printRecords(Array, count); //Prints the raw data i.e., in original order.

cout << endl << endl;

bubbleSort(Array, count); //Sorts the array.

printRecords(Array, count); //Prints the sorted data.

int year;

cout << "Enter the year for the records: "; //Prompt the user to enter a year.

cin >> year;

//Use the Linear Search algorithm to find the record with that year

int index = linearSearch(Array, count, year);

//Then, display the found record, if record not found, print Not Found.

if (index == -1)

cout << "Not Found." << endl;

else

cout << Array[index].name << " " << Array[index].year << " " << Array[index].fee << endl;

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Concepts

Authors: David Kroenke, David Auer, Scott Vandenberg, Robert Yoder

8th Edition

013460153X, 978-0134601533

More Books

Students also viewed these Databases questions