Question

In: Computer Science

Write a C++ program based on the cpp file below ++++++++++++++++++++++++++++++++++++ #include using namespace std; //...

Write a C++ program based on the cpp file below

++++++++++++++++++++++++++++++++++++

#include

using namespace std;

// PLEASE PUT YOUR FUNCTIONS BELOW THIS LINE

// END OF FUNCTIONS

void printArray(int array[], int count)
{
   cout << endl << "--------------------" << endl;
   for(int i=1; i<=count; i++)
   {
       if(i % 3 == 0)
       cout << " " << array[i-1] << endl;
       else
       cout << " " << array[i-1];
   }
   cout << endl << "--------------------" << endl;
  
}

int main()
{
   int index;
   // first test array (uncomment to use)
int array[200] = {400, -45, -300, 50, -300, 90};
int count = 6;
// second test array
   //int array[200] = {900, 34, 233, 90};
   //int count = 4;
// third test array
//int array[200] = {10, 140, 32, -3, 12, -3, 21, 12};
//int count = 8;
  
  
cout << "BEFORE" << endl;
printArray(array, count);
  
   index = findLastMin(array, count);
   cout << "Index found at: " << index << endl;
  
deleteMin(array, count);
  
   cout << "AFTER" << endl;
printArray(array, count);
  
   return 0;
}

++++++++++++++++++++++++++++++++++++

INSTRUCTION
You will implement a function that will involve
finding the last instance of the minimum in an array
of integers and returning the index of this item.

The array will be of integers that can be both positive
and negative. Also, there may be repeated values in the
array.

EXAMPLES
==========
Array = 400, -45, -300, 50, -300, 90
index is: 4
Array = 900, 34, 233, 90
index is: 1

=====================================
Part 2

Find the last instance of the minimum in the
given array and delete it from the array.

You can use the part II find function to get an index.

Don't change the order of the other elements in the array.

Upload the midterm6.cpp file to the d2l assignment
folder before the due time.

EXAMPLES
==========
BEFORE
Array = 400, -45, -300, 50, -300, 90
AFTER
Array = 400, -45, -300, 50, 90

Solutions

Expert Solution

Program1:Write a program to find the index of the last minimum element in tha array

In the program we need to find the index of the last minimum element in the array.

Step-1:Declare a variable "min" and assign it to the maximum value of the integer datatype with the help of <climits> header file.

Step-2:Start iterating the array from the starting.

Step-3:Compare the first element of the array with the min variable,if the value of first element of the array is less than min value then update the min value to the array[0]

Step-4:Use another variable "location" to store the index of the minimum element.

Step-5:Repeat step-3 for all the elements in the array and update the min and location value accordingly.

Step-6:If there are repeated values consider the last value as minimum value if it is the mimimum element.

Step-7:Print the array with help of "printArray" function

Step-8:Print the location value and it is the index of the lastminimum element in the array.

Program

#include <iostream>
#include<climits>
using namespace std;
void printArray(int array[],int count)
{
   cout<<"Array = ";
   for(int i=0;i<count;i++)
   {
       cout<<array[i]<<" ";
   }
   cout<<endl;
}
int minindex(int arr[],int count)
{
int min=INT_MAX;
int location;
for(int i=0;i<count;i++)
{
if(arr[i]<=min)
{
min=arr[i];
location=i;
}
}
return location;
}
int main()
{
int count=6,count1= 4,count2=8;
int array[200] = {400, -45, -300, 50, -300, 90};
int array1[200] = {900, 34, 233, 90};
int array2[200]={10, 140, 32, -3, 12, -3, 21, 12};
printArray(array,count);
cout<<"index is:"<<minindex(array,count)<<endl;
printArray(array1,count1);
cout<<"index is:"<<minindex(array1,count1)<<endl;
printArray(array2,count2);
cout<<"index is:"<<minindex(array2,count2)<<endl;
return 0;
}
output:

Program2:Find the last instance of the minimum in the given array and delete it from the array.

In this program we need to find the index of the minimum element and delete that element.

Step-1:Declare a variable "min" and assign it to the maximum value of the integer datatype with the help of <climits> header file.

Step-2:Start iterating the array from the starting.

Step-3:Compare the first element of the array with the min variable,if the value of first element of the array is less than min value then update the min value to the array[0]

Step-4:Use another variable "location" to store the index of the minimum element.

Step-5:Repeat step-3 for all the elements in the array and update the min and location value accordingly.

Step-6:If there are repeated values consider the last value as minimum value if it is the mimimum element.

Step-7:After finding the index of the minimum element,assign the value at the minimum element to the variable "x"

Step-8:Check whether the location of minimum element is less than the size of the array.

Step-9:If it is less than the array size,decrement the size of the array by one.

Step-10:Start iterating from the location of the min element to the end of the array by updating the array values.

Step-11:print the updated array with the help of "printArray" function.

Program

#include <iostream>
#include<climits>
using namespace std;
void printArray(int array[],int count)
{
   cout<<"Array = ";
   for(int i=0;i<count;i++)
   {
       cout<<array[i]<<" ";
   }
   cout<<endl;
}
int deletemin(int array[],int count)
{
   int min=INT_MAX,location,x;
    for(int i=0;i<count;i++)
{
   if(array[i]<=min)
   {
       min=array[i];
       location=i;
   }
   }      
   x=array[location];
if (location < count)
{
    count = count - 1;
    for (int j=location; j<count; j++)
   array[j] = array[j+1];
}
return count;
}
int main()
{
int count=6,count1= 4,count2=8,n;
int array[200] = {400, -45, -300, 50, -300, 90};
int array1[200] = {900, 34, 233, 90};
int array2[200]={10, 140, 32, -3, 12, -3, 21, 12};
cout<<"BEFORE"<<endl;
printArray(array,count);
n=deletemin(array,count);
cout<<"AFTER"<<endl;
printArray(array,n);
cout << endl << "--------------------" << endl;
cout<<"BEFORE"<<endl;
printArray(array1,count1);
n=deletemin(array1,count1);
cout<<"AFTER"<<endl;
printArray(array1,n);
cout << endl << "--------------------" << endl;
cout<<"BEFORE"<<endl;
printArray(array2,count2);
n=deletemin(array2,count2);
cout<<"AFTER"<<endl;
printArray(array2,n);
return 0;
}

output


Related Solutions

C++ exercise: The statements in the file main.cpp are in incorrect order. using namespace std; #include...
C++ exercise: The statements in the file main.cpp are in incorrect order. using namespace std; #include <iostream> int main() { string shape; double height; #include <string>    cout << "Enter the shape type: (rectangle, circle, cylinder) "; cin >> shape; cout << endl;    if (shape == "rectangle") { cout << "Area of the circle = " << PI * pow(radius, 2.0) << endl;    cout << "Circumference of the circle: " << 2 * PI * radius << endl;...
Writing a squareroot program in C++ using only: #include <iostream> using namespace std; The program must...
Writing a squareroot program in C++ using only: #include <iostream> using namespace std; The program must be very basic. Please don't use math sqrt. Assume that the user does not input anything less than 0. For example: the integer square root of 16 is 4 because 4 squared is 16. The integer square root of 18 is 5 because 4 squared is 16 and 5 squared is 25, so 18 is bigger than 16 but less than 25.  
Writing an nth root program in C++ using only: #include using namespace std; The program must...
Writing an nth root program in C++ using only: #include using namespace std; The program must be very basic. Please don't use math sqrt or pow . For example, the 4th root of 16 is 2 because 2 * 2 * 2 * 2 = 16. The 4th root of 20 is 2 because 2 * 2 * 2 * 2 = 16 and 16 is less than 20, and 3 * 3 * 3 * 3 = 81, which...
Please write variables and program plan(pseudocode) of this C++ programming code: #include <iostream> using namespace std;...
Please write variables and program plan(pseudocode) of this C++ programming code: #include <iostream> using namespace std; void leapYear(int x); int main() { int x; cout << "Enter a year: "; cin >> x; leapYear (x);   return 0; } void leapYear(int x ) {    if (x % 400 == 0)    {    cout << "This is a leap Year";}    else if    ((x % 4 == 0) && (x % 100 != 0))    {    cout <<...
Add File I/O to the voting program below #include<iostream> using namespace std; int main() {int choice;...
Add File I/O to the voting program below #include<iostream> using namespace std; int main() {int choice; int biden = 0 , trump = 0 , bugs = 0 ; int vc = 0 ; do { cout<<"\n\n\nEVOTE\n-----" <<"\n1.Joe Biden" <<"\n2.Donald Trump" <<"\n3.Bugs Bunny" // 4. Print current tally [hidden admin option] // 5. Print audit trail [hidden admin option] // 6. mess with the vote [hidden hacker option] E.C. // 7. END THE ELECTION <<"\n\n Your selection? "; cin >>...
Starting with the following C++ program: #include <iostream> using namespace std; void main () { unsigned...
Starting with the following C++ program: #include <iostream> using namespace std; void main () { unsigned char c1; unsigned char c2; unsigned char c3; unsigned char c4; unsigned long i1 (0xaabbccee); _asm { } cout.flags (ios::hex); cout << "results are " << (unsigned int) c1 << ", " << (unsigned int) c2 << ", " << (unsigned int) c3 << ", " << (unsigned int) c4 << endl; } Inside the block denoted by the _asm keyword, add code to...
Take the following C++ program and translate it into Pep/9 assembly language #include using namespace std;...
Take the following C++ program and translate it into Pep/9 assembly language #include using namespace std; int age; char first, last; int main() {    cin >> age;    cin >> first >> last;    cout << "Your age " << age << endl;    cout << "Initials " << first << last << endl;    if (age >= 30)        cout << “Cannot trust\n”;    return 0; }
Question 1 Given the program below, what are the errors. #include <iostream> using namespace std; int...
Question 1 Given the program below, what are the errors. #include <iostream> using namespace std; int main() { int ind_square(int &); int x, *p; x=15; p = &x; ind_square(*p); } int ind_square(int &p) { *p = *p **p; } Question 1 options: C. No return for non-void function A. Indirection for the variables in ind_square requires pointer operand A and B B. Invalided use of address (&) symbol as a parameter for ind_squared A and C Question 2 Which statement...
Implement the following functions for an array based stack. #include <stdexcept> #include <iostream> using namespace std;...
Implement the following functions for an array based stack. #include <stdexcept> #include <iostream> using namespace std; #include "Stack.h" template <typename DataType> class StackArray : public Stack<DataType> { public: StackArray(int maxNumber = Stack<DataType>::MAX_STACK_SIZE); StackArray(const StackArray& other); StackArray& operator=(const StackArray& other); ~StackArray(); void push(const DataType& newDataItem) throw (logic_error); DataType pop() throw (logic_error); void clear(); bool isEmpty() const; bool isFull() const; void showStructure() const; private: int maxSize; int top; DataType* dataItems; }; //-------------------------------------------------------------------- // // // ** Array implementation of the Stack ADT...
I want to indent this c++ program #include<iostream> using namespace std; class Rectangle{ private: double width;...
I want to indent this c++ program #include<iostream> using namespace std; class Rectangle{ private: double width; double length; public: void setWidth(double); void setLength(double); double getWidth() const; double getLength() const; double getArea() const; double getPerimeter() const; bool isSquare() const; }; void Rectangle::setWidth(double w){ width = w; } void Rectangle::setLength(double l){ length = l; } double Rectangle::getWidth() const{ return width; } double Rectangle::getLength() const{ return length; } // Added Method definitions double Rectangle::getArea() const{ return (width * length); } double Rectangle::getPerimeter() const{...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT