0% found this document useful (0 votes)
12 views5 pages

02 Examinations

The document is a mid-term examination paper for the Fundamentals of Computing II course at the University of Modern Sciences & Arts, covering various programming problems. It includes sections on tracing problems with code snippets and problem-solving tasks involving matrix manipulation and data structures. Students are required to write programs based on the given specifications and demonstrate their understanding of computing concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views5 pages

02 Examinations

The document is a mid-term examination paper for the Fundamentals of Computing II course at the University of Modern Sciences & Arts, covering various programming problems. It includes sections on tracing problems with code snippets and problem-solving tasks involving matrix manipulation and data structures. Students are required to write programs based on the given specifications and demonstrate their understanding of computing concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 5

University of Modern Sciences & Arts (MSA) Mid-Term Examination-Fall 2004-2005

Fundmentals of computing II (CS-201) Time Allowed: 2 Hours

SECTION (I): TRACING PROBLEMS (Total: 8 marks)


In this section, if there are any Garbage values, then display ‘?’ instead.

(Q1) (4 marks)

Display the output of the following program:

#include <iostream.h>

void Make(int **&x, int base) void Foo(int *&x, int *y)
{ {
x = new int*[2]; int *t = x;
for (int r=0; r<2; r++) x = y;
{ y = t;
x[r] = new int[2]; }
for (int c=0; c<2; c++)
{
x[r][c] = base;
base += 10; void main()
} {
} int **x[2];
}
for (int i=0; i<2; i++)
{
void Show(int **x) Make(x[i], 10*i);
{ }
for (int r=0; r<2; r++)
{ for (i=0; i<2; i++)
for (int c=0; c<2; c++) {
{ Show(x[i]);
cout<<x[r][c]<<" "; }
}
cout<<endl;
} Foo(x[0][0], x[1][1]);
}
for (i=0; i<2; i++)
{
Show(x[i]);
}
}

Page 1 of 5
University of Modern Sciences & Arts (MSA) Mid-Term Examination-Fall 2004-2005
Fundmentals of computing II (CS-201) Time Allowed: 2 Hours

(Q2) (4 marks)

Display the output of the following program:

#include <iostream.h>

struct Point
{
int X, Y;
};

void Display(Point p)
{
cout<<p.X<<" "<<p.Y<<endl;
}

void main()
{
Point *P[3], *T[3];
int vx = 5, vy =7;

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


{
P[i] = new Point[1];
P[i]->X = vx;
P[i]->Y = vy;

T[i] = P[i];
vx += 5;
vy += 3;
}

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


Display(*P[i]);

for (i=1; i<3; i++)


P[i] = P[i-1];

delete T[1];
for (i=0; i<3; i++)
Display(*P[i]);

delete T[0];
for (i=0; i<3; i++)
Display(*P[i]);

Page 2 of 5
University of Modern Sciences & Arts (MSA) Mid-Term Examination-Fall 2004-2005
Fundmentals of computing II (CS-201) Time Allowed: 2 Hours

SECTION (II): PROBLEM SOLVING (Total: 12 marks)


Problem 1: (8 marks)
Write a program to do the followings: -
 Read a matrix call it (X), with dimensions (m x n).
 For each cell in the column [0], find the occurrences of it in the following columns.

X
1 8 8 10 11 13

3 2 4 9 12 1

2 4 2 1 15 4
5 1 9 2 15 17

4 7 7 16 2 18

Create another matrix (Y) as the following:


 Each row has:
- the value.
- Number of occurrences of the value.
- The columns which he occurs in it.

e.g.

1 4 0 1 3 5

3 1 0

2 5 0 1 2 3 4

5 1 0

4 4 0 1 2 5

 Ask the user to enter some target value T.


 And display the information of it from matrix (Y).
e.g.
enter a Target : 3.
The results : 3, 1, 0.

e.g.
enter a Target : 2.
The results : 2, 5, 0,1,2,3,4.

Page 3 of 5
University of Modern Sciences & Arts (MSA) Mid-Term Examination-Fall 2004-2005
Fundmentals of computing II (CS-201) Time Allowed: 2 Hours

 Create a third matrix (Z), this matrix will be column based.


Each column (exclude the column [0]) is a copy from the X matrix, but with the
unmatched values only.

X
1 8 8 10 11 13

3 2 4 9 12 1

2 4 2 1 15 4
5 1 9 2 15 17

4 7 7 16 2 18

8 8 10 11 13

7 9 9 12 17

7 16 15 18

15

 Ask the user to select 2 columns from Z and swap them.

Problem 2: (4 marks)

Page 4 of 5
University of Modern Sciences & Arts (MSA) Mid-Term Examination-Fall 2004-2005
Fundmentals of computing II (CS-201) Time Allowed: 2 Hours

Define a structure to represent the Student as the followings:


 The name of the student.
 Number of courses.
 The grades of the courses.

Define another structure to represent the Faculty as the followings:


 The name of the faculty (CS, Eng, ..etc).
 The number of students in the faculty.
 The students themselves.
.

Write a program to do the followings:


 Read the information for N Faculty.
 Ask the user to select two faculty (by indexes), and then do the followings:
- calculate the average grade for each student in the first selected faculty.
- Remove any student with average < 2.5 from the first faculty and add him to the
second faculty.
 Don't forget the de-allocation at the end of your program.

Page 5 of 5

You might also like