<< Chapter < Page Chapter >> Page >

c. ara = 15;

d. *(ip2 + 2) = 15; // Assuming ip2 and ara are equal.

2.5) Run the following program and explain the output.

#include<iostream.h>

void swap(int a[], int *c1, int *c2, int *d1, int *d2);

void main()

{

int a[2], c1, c2,d1,d2;

int *x1, *x2, *y1, *y2;

a[0] = 1 ; a[1]=2;

c1 = 1; c2 =2;

d1 = 1; d2 =2;

x1 =&c1; x2 =&c2;

y1 =&d1; y2 =&d2;

swap(a, x1,x2,y1,y2);

cout<<a[0]<<a[1]<<” “

<<*x1<<*x2<<” ”

<<*y1<<*y2;

swap(a, x1,x2,y1,y2);

cout<<a[0]<<a[1]<<” “

<<*x1<<*x2<<” ”

<<*y1<<*y2;

}

void swap(int a[], int *c1, int *c2, int *d1, int *d2)

{

a[0] = 2 ; a[1]=1;

*c1=2, *c2 =1;

int* temp = d1;

d1 =d2;

d2 = temp;

}

2.6) Write a declaration to store the following values into an array named rates: 12.9, 18.6, 11.4, 13.7, 9.5, 15.2, 17.6. Include the declaration in a program that displays the values in the array using pointer notation.

2.7) Given the following function that can find the largest element in an integer array. Notice that the function scans the elements in the array using 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.

2.8) In the following program, the function str_output() can display a string which is passed to it as a a pointer parameter:

#include<iostream.h>

#include<string.h>

#define MAX 80

void str_output(char *);

int main()

{

char a[MAX], b[MAX];

cin.getline(a, MAX, '\n');

str_output(a);

cout<<endl;

strcpy(b,a);

str_output(b);

cout<<endl;

return 0;

}

void str_output(char *ptr)

{

………..

}

a. Complete the function str_output() which displays each element in the string using pointer notation.

b. Run to test the whole program.

2.9) 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.

Lab session 8: introduction to classes

1. objective

The objectives of Lab session 8 are (1) to get familiar with how to define object classes; (2) to practice to write constructors and (3) to learn how to dynamically allocate/deallocate memory on the heap.

2. experiment

2.1) a. Read to understand the following program which uses the class student. Organize the program in one source program and run it on a C++ environment.

#include<iostream.h>

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