<< Chapter < Page Chapter >> Page >

b. Write a program that inputs an array and invokes the above function to find the largest element in the array and print it out.

8. Given the following function that can find a specified value in an array. If the search is successful, this function returns the position of the specified value in the array, otherwise, it returns –1.

int linearSearch(int array[], int key, int sizeofArray)

{

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

if (array[n] = = key)

return n;

return –1;

}

Write a program that performs the following steps:

  • Input the integer array of N elements. (N is also an input data).
  • Input a value you want to search on the array.
  • Invoke the function linearSearch to find the element in the array which is equal to the specified value(assume that position is k).
  • Remove that element at location k from the array.

9. A palindrome is a string that reads the same both forward and backward. Some examples are

Given the following function that returns true if the parameter string is a palindrome or false, otherwise.

bool palindrome(char strg[])

{

int len, k, j;

len = strlen(strg);

k = len/2;

j = 0;

bool palin = true;

while ( j<k&&palin)

if (strg[j] != strg[len -1-j])

palin = false;

else

++ j;

return (palin)

}

Write a C++ program that reads several strings, one at a time and checks if each string is a palindrome or not. Use a while loop in your program. The loop terminates when the user enters a string starting with a ‘*’.

10. Given the following program:

#include<iostream.h>

int main()

{

const int NUMS = 5;

int nums[NUMS] = {16, 54, 7, 43, -5}

int i, total = 0;

int *nPt;

nPt = nums;

for( i = 0; i<NUMS; i++)

total = total + *nPt++;

cout<<total<<endl;

return 0;

}

a. Explain the meaning of the program.

b. Run to determine the result of the program.

11. Given the following function that can find the largest element in an integer array. Notice that the function uses pointer arithmetic:

int findMax(int * vals, int numEls)

{

int j, max = *vals;

for (j = 1; j<numEls; j++)

if (max<*(vals + j))

max = *(vals + j);

return max;

}

Write a C++ program that inputs an integer array and invokes the above function to find the largest element in that array and displays the result out.

12. a. Write a function named days() that determines the number of days from the date 1/1/1900 for any date passed as a structure. Use the Date structure:

struct Date

{

int month;

int day;

int year;

}

In writing the days() function, use the convention that all years have 360 days and each month consists of 30 days. The function should return the number of days for any Date structure passed to it.

b. Rewrite the days() function to receive a pointer to a Date structure rather than a copy of the complete structure.

c. Include the function written in b) in a complete C++ program.

Exercise 7

1. Given the class student which is defined as follows:

class student{

private:

long int rollno;

int age;

char sex;

float height;

float weight;

public:

void getinfo();

void disinfo();

};

void student::getinfo()

{

cout<<" Roll no :";

cin>>rollno;

cout<<" Age :";

cin>>age;

cout<<" Sex:";

cin>>sex;

cout<<" Height :";

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Programming fundamentals in c++. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10788/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Programming fundamentals in c++' conversation and receive update notifications?

Ask