<< 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.
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.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 :";
Notification Switch
Would you like to follow the 'Programming fundamentals in c++' conversation and receive update notifications?