69
Lecture – 31 to 35 Computer Programming 14 Computer Systems Engineering – Second Semester By: Mr. Ali Asghar Manjotho, Lecturer, CSE-MUET

Computer programming lecture – 31 to 35

Embed Size (px)

DESCRIPTION

Computer programming lecture – 31 to 35

Citation preview

Page 1: Computer programming lecture – 31 to 35

Lecture – 31 to 35Computer Programming

14 Computer Systems Engineering – Second Semester

By: Mr. Ali Asghar Manjotho, Lecturer, CSE-MUET

Page 2: Computer programming lecture – 31 to 35

Contents

• Arrays (LL 02)

• Types of Arrays (LL 02)

• One-Dimensional Array (LL 04)

• Declaring One-Dimensional Array (LL 04)

• Initializing One-Dimensional Array (LL 04)

• Accessing elements of One-Dimensional Array (LL 04)

• Inputting elements of One-Dimensional Array (LL 04)

• Outputting elements of One-Dimensional Array (LL 04)

• Summing all the elements of One-Dimensional Array (LL 04)

• Averaging all the elements of One-Dimensional Array (LL 04)LL 02 = Learning Level 02 – Comprehension, LL 04 = Learning Level 04 – Analysis

Ali Asghar Manjotho, Lecturer CSE-MUET 2

Page 3: Computer programming lecture – 31 to 35

Contents

• Multi-Dimensional Array (LL 04)

• Two-Dimensional Array (LL 04)

• Declaring Two-Dimensional Array (LL 04)

• Initializing Two-Dimensional Array (LL 04)

• Accessing elements of Two-Dimensional Array (LL 04)

• Inputting elements of Two-Dimensional Array (LL 04)

• Outputting elements of Two-Dimensional Array (LL 04)

• Summing all the elements of Two-Dimensional Array (LL 04)

• Averaging all the elements of Two-Dimensional Array (LL 04)LL 02 = Learning Level 02 – Comprehension, LL 04 = Learning Level 04 – Analysis

Ali Asghar Manjotho, Lecturer CSE-MUET 3

Page 4: Computer programming lecture – 31 to 35

Contents

• Searching array element using Linear Search (LL 04)

• Sorting array element using Bubble Sort (LL 04)

• Program Examples (LL 04)

LL 02 = Learning Level 02 – Comprehension, LL 04 = Learning Level 04 – Analysis

Ali Asghar Manjotho, Lecturer CSE-MUET 4

Page 5: Computer programming lecture – 31 to 35

Arrays

• An array is the collection homogeneous (same) data items.

• It is a collection of a fixed number of components all of the same data type.

• An array is a consecutive group of memory locations that all have the sametype.

• An array is a data structure that can hold multiple values at a time unlike simple variables who can only store single value at a time.

• In an array all the elements have one or more indices through which they are accessed.

Ali Asghar Manjotho, Lecturer CSE-MUET 5

Page 6: Computer programming lecture – 31 to 35

Arrays

In order to create an array we need to define the followings for an array:

• Name

• Data Type

• Size

• Elements

Ali Asghar Manjotho, Lecturer CSE-MUET 6

Page 7: Computer programming lecture – 31 to 35

Arrays

• The name of the array is identifier, which follows all the rules of identifier in C++.

• The data type of array specifies the type of the data every element of its will have.

• The size specifies the total number of elements, the array can store at maximum.

• The elements are the actual data items (values) that array will hold.

Ali Asghar Manjotho, Lecturer CSE-MUET 7

Page 8: Computer programming lecture – 31 to 35

Types of Arrays

• There are two types of arrays:

Ali Asghar Manjotho, Lecturer CSE-MUET 8

Page 9: Computer programming lecture – 31 to 35

One-Dimensional Array

• One-dimensional array is just the list of items of same data type.

• All the items are stored in memory consecutively.

Ali Asghar Manjotho, Lecturer CSE-MUET 9

nums

50

10

0

-8

73

56

74

48

Page 10: Computer programming lecture – 31 to 35

Declaring One-Dimensional Array

• In order to declare one dimensional array, we need to specify:

•Name

•Data Type

• Size

Ali Asghar Manjotho, Lecturer CSE-MUET 10

Page 11: Computer programming lecture – 31 to 35

Declaring One-Dimensional Array

int nums [10] ;

float temps [7] ;

char alphabets [50] ;

double voltage [250] ;

Ali Asghar Manjotho, Lecturer CSE-MUET 11

Page 12: Computer programming lecture – 31 to 35

Initializing One-Dimensional Array

• In order to initialize one dimensional array, we need to specify:

•Name

•Data Type

• Size

• Elements

Ali Asghar Manjotho, Lecturer CSE-MUET 12

Page 13: Computer programming lecture – 31 to 35

Initializing One-Dimensional Array

int nums [5] = { 50,98,74,82,35};

Ali Asghar Manjotho, Lecturer CSE-MUET 13

nums

50

98

74

82

35

Page 14: Computer programming lecture – 31 to 35

Initializing One-Dimensional Array

float temps [7] = { 37.5,34.4,32.8,30.1,33.8,34.8,33.3};

Ali Asghar Manjotho, Lecturer CSE-MUET 14

temps

37.5

34.4

32.8

30.1

33.8

34.8

33.3

Page 15: Computer programming lecture – 31 to 35

Initializing One-Dimensional Array

char options [4] = { ’A’ , ’B’ , ’C’ , ’D’ };

Ali Asghar Manjotho, Lecturer CSE-MUET 15

options

A

B

C

D

Page 16: Computer programming lecture – 31 to 35

Accessing elements of One-Dimensional Array

• In one dimensional array, every element has one index number.

• The index number starts from 0.

• The index of the element is always one less than the element number. For example the index of 5th item is 4 and the index of 1st item is 0.

• For accessing any item of the array we just specify the array name along with the element index inside the square brackets.

Ali Asghar Manjotho, Lecturer CSE-MUET 16

Page 17: Computer programming lecture – 31 to 35

Accessing elements of One-Dimensional Array

int nums [5] = { 50,98,74,82,35};

cout<<nums[2] ; // Displays 74

cout<<nums[4] ; //Displays 35

Ali Asghar Manjotho, Lecturer CSE-MUET 17

nums

0 50

1 98

2 74

3 82

4 35

Page 18: Computer programming lecture – 31 to 35

Inputting elements of One-Dimensional Array

int nums [5];

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

{

cin>>nums [ i ] ;

}

Ali Asghar Manjotho, Lecturer CSE-MUET 18

nums

0

1

2

3

4

Page 19: Computer programming lecture – 31 to 35

Outputting elements of One-Dimensional Array

int nums [5] = { 50,98,74,82,35};

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

{

cout<<nums [ i ] << endl;

}

Ali Asghar Manjotho, Lecturer CSE-MUET 19

nums

0 50

1 98

2 74

3 82

4 35

Page 20: Computer programming lecture – 31 to 35

Summing all the elements of One-Dimensional Array

int sum = 0 ;

int nums [5] = { 50,98,74,82,35};

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

{

sum += nums [ i ] ;

}

cout<<“Sum = ” << sum ; //Displays 339

Ali Asghar Manjotho, Lecturer CSE-MUET 20

nums

0 50

1 98

2 74

3 82

4 35

Page 21: Computer programming lecture – 31 to 35

Averaging all the elements of One-Dimensional Array

const int SIZE = 5 ;

int sum = 0 ;

float average = 0.0 ;

int nums [5] = { 50,98,74,82,35};

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

{

sum += nums [ i ] ;

}

average = (float) ( sum / SIZE ) ;

cout<<“Average = ” << average ; //Displays 67.8

Ali Asghar Manjotho, Lecturer CSE-MUET 21

nums

0 50

1 98

2 74

3 82

4 35

Page 22: Computer programming lecture – 31 to 35

Multi-Dimensional Array

• Multi-dimensional array is an array having more than one dimensions.

• It require more than one index to access the items.

• Every dimension has its own index.

• A two dimensional array is the arrangement of elements in rows and columns. First index = row, second index = column.

• A three dimensional array is arrangement of data in the form of a cube. First index = cube face, second index = row, third index = column.

Ali Asghar Manjotho, Lecturer CSE-MUET 22

Page 23: Computer programming lecture – 31 to 35

Two-Dimensional Array

• Two-dimensional array is the arrangement of elements in rows and columns.

• It has two indices, one for row and other for column.

Ali Asghar Manjotho, Lecturer CSE-MUET 23

nums

57 74 11

10 14 87

47 48 98

Page 24: Computer programming lecture – 31 to 35

Declaring Two-Dimensional Array

• In order to declare two dimensional array, we need to specify:

•Name

•Data Type

• Size for both the dimensions

Ali Asghar Manjotho, Lecturer CSE-MUET 24

Page 25: Computer programming lecture – 31 to 35

Declaring Two-Dimensional Array

int nums [3] [3] ;

float temps [5] [7];

char alphabets [2] [3] ;

Ali Asghar Manjotho, Lecturer CSE-MUET 25

Page 26: Computer programming lecture – 31 to 35

Initializing Two-Dimensional Array

• In order to initialize two dimensional array, we need to specify:

•Name

•Data Type

• Size for both the dimensions

• Elements

Ali Asghar Manjotho, Lecturer CSE-MUET 26

Page 27: Computer programming lecture – 31 to 35

Initializing Two-Dimensional Array

int nums [3] [3] = {{57,74,11},{10,14,87}, {47,48,98}};

Ali Asghar Manjotho, Lecturer CSE-MUET 27

nums

57 74 11

10 14 87

47 48 98

Page 28: Computer programming lecture – 31 to 35

Initializing Two-Dimensional Array

float temps [3] [7] = {{34.5,33.2,38.4,36.4,37.7,34.4,38.8}, {37.4,34.1,34.1,38.1,36.5,30.4,30.8},{38.1,38.0,30.8,37.4,38.1,33.5,34.8}};

Ali Asghar Manjotho, Lecturer CSE-MUET 28

temps

34.5 33.2 38.4 36.4 37.7 34.4 38.8

37.4 34.1 34.1 38.1 36.5 30.4 30.8

38.1 38.0 30.8 37.4 38.1 33.5 34.8

Page 29: Computer programming lecture – 31 to 35

Initializing Two-Dimensional Array

char alphabets [2] [3] = {{ ‘C’ , ’D’ , ’W’ }, { ‘1’ , ’?’ , ’V’ }};

Ali Asghar Manjotho, Lecturer CSE-MUET 29

alphabets

C D W

1 ? V

Page 30: Computer programming lecture – 31 to 35

Accessing elements of Two-Dimensional Array

• In two dimensional array, every element has two index numbers.

• One for row and other for column. Both the indices start from 0.

• The row index of the element is always one less than the row number and column index is one less than the column number of that item.

• For accessing any item of the array we just specify the array name along with the row index and column index inside the square brackets.

Ali Asghar Manjotho, Lecturer CSE-MUET 30

Page 31: Computer programming lecture – 31 to 35

Accessing elements of Two-Dimensional Array

int nums [3] [3] = {{57,74,11},{10,14,87}, {47,48,98}};

cout<<nums [1] [2] ; // Displays 87

cout<<nums [2] [2] ; //Displays 98

Ali Asghar Manjotho, Lecturer CSE-MUET 31

nums

0 1 2

0 57 74 11

1 10 14 87

2 47 48 98

Page 32: Computer programming lecture – 31 to 35

Inputting elements of Two-Dimensional Array

int nums [3] [3] ;

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

{

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

{

cin>>nums [ i ] [ j ] ;

}

}

Ali Asghar Manjotho, Lecturer CSE-MUET 32

nums

0 1 2

0

1

2

Page 33: Computer programming lecture – 31 to 35

Outputting elements of Two-Dimensional Array

int nums [3] [3] = {{57,74,11},{10,14,87}, {47,48,98}};

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

{

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

{

cout<<nums [ i ] [ j ] << “ “;

}

cout<< endl;

}

Ali Asghar Manjotho, Lecturer CSE-MUET 33

nums

0 1 2

0 57 74 11

1 10 14 87

2 47 48 98

Page 34: Computer programming lecture – 31 to 35

Summing all the elements of Two-Dimensional Array

int sum = 0 ;

int nums [3] [3] = {{57,74,11},{10,14,87}, {47,48,98}};

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

{

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

{

sum += nums [ i ] [ j ] ;

}

}

cout<<“Sum = ” << sum ; //Displays 446

Ali Asghar Manjotho, Lecturer CSE-MUET 34

nums

0 1 2

0 57 74 11

1 10 14 87

2 47 48 98

Page 35: Computer programming lecture – 31 to 35

Averaging all the elements of Two-Dimensional Arrayconst int ROWS = 3 ;const int COLS = 3 ;int sum = 0 ;float average = 0.0 ;

int nums [3] [3] = {{57,74,11},{10,14,87}, {47,48,98}};

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

for( int j = 0 ; j < 3 ; j++){

sum += nums [ i ] [ j ] ;}

}

average = (float) ( sum / (ROWS * COLS )) ;cout<<“Average = ” << average ; //Displays 49.55

Ali Asghar Manjotho, Lecturer CSE-MUET 35

nums

0 1 2

0 57 74 11

1 10 14 87

2 47 48 98

Page 36: Computer programming lecture – 31 to 35

Searching array element using Linear Search

• Linear search also called as sequential search is a method for finding a particular value in a list, that consists of checking every one of its elements, one at a time and in sequence, until the desired one is found.

• Lets consider a program that input all the elements of a one dimensional integer array and then asks the user to enter an element to find inside the array.

Ali Asghar Manjotho, Lecturer CSE-MUET 36

Page 37: Computer programming lecture – 31 to 35

Searching array element using Linear Search

Ali Asghar Manjotho, Lecturer CSE-MUET 37

Page 38: Computer programming lecture – 31 to 35

Searching array element using Linear Search

Ali Asghar Manjotho, Lecturer CSE-MUET 38

Page 39: Computer programming lecture – 31 to 35

Searching array element using Linear Search

Ali Asghar Manjotho, Lecturer CSE-MUET 39

nums

0 8

1 9

2 4

3 5

4 7

5 8

6 6

7 5

8 8

9 9

Page 40: Computer programming lecture – 31 to 35

Sorting array element using Bubble Sort

• Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that works by repeatedly stepping through the list to be sorted, comparing each pair of adjacent items and swapping them if they are in the wrong order. The pass through the list is repeated until no swaps are needed, which indicates that the list is sorted. The algorithm gets its name from the way smaller elements "bubble" to the top of the list.

• Lets consider a program that initializes the elements of a one dimensional integer array and then sorts it using bubble sort.

Ali Asghar Manjotho, Lecturer CSE-MUET 40

Page 41: Computer programming lecture – 31 to 35

Sorting array element using Bubble Sort

Ali Asghar Manjotho, Lecturer CSE-MUET 41

Page 42: Computer programming lecture – 31 to 35

Sorting array element using Bubble Sort

Ali Asghar Manjotho, Lecturer CSE-MUET 42

Page 43: Computer programming lecture – 31 to 35

Sorting array element using Bubble Sort

Ali Asghar Manjotho, Lecturer CSE-MUET 43

nums

0 10

1 98

2 32

3 -8

4 -41

5 58

6 74

7 82

8 97

9 12

Page 44: Computer programming lecture – 31 to 35

Program ExamplesArrays

Ali Asghar Manjotho, Lecturer CSE-MUET 44

Page 45: Computer programming lecture – 31 to 35

Program Example 01Problem Statement:

Write a program in C++ that initializes two arrays A and B. The program should create, calculate and display the contents of array C as following.

Note that every item in array A and B is of 2 digit number.

Ali Asghar Manjotho, Lecturer CSE-MUET 45

A B C

25 87 87.25

14 11 14.11

12 10 12.10

74 81 81.74

58 67 67.58

74 94 94.74

98 74 98.74

84 82 84.82

15 15 15.15

24 87 87.24

Page 46: Computer programming lecture – 31 to 35

Program Example 01

Ali Asghar Manjotho, Lecturer CSE-MUET 46

Page 47: Computer programming lecture – 31 to 35

Program Example 01

Ali Asghar Manjotho, Lecturer CSE-MUET 47

Page 48: Computer programming lecture – 31 to 35

Program Example 01

Ali Asghar Manjotho, Lecturer CSE-MUET 48

Page 49: Computer programming lecture – 31 to 35

Program Example 02Problem Statement:

Write a program in C++ that inputs the temperature values of entire week and displays the day on which we had maximum and minimum temperature.

Ali Asghar Manjotho, Lecturer CSE-MUET 49

Temperature

Monday 35.41

Tuesday 34.15

Wednesday 33.51

Thursday 33.12

Friday 35.45

Saturday 36.74

Sunday 34.88

Page 50: Computer programming lecture – 31 to 35

Program Example 02

Ali Asghar Manjotho, Lecturer CSE-MUET 50

Page 51: Computer programming lecture – 31 to 35

Program Example 02

Ali Asghar Manjotho, Lecturer CSE-MUET 51

Page 52: Computer programming lecture – 31 to 35

Program Example 02

Ali Asghar Manjotho, Lecturer CSE-MUET 52

Page 53: Computer programming lecture – 31 to 35

Program Example 03Problem Statement:

Write a program in C++ that inputs the elements of an integer array from the user and displays the number of positive, negative and zero values; sum of positive numbers and sum of negative numbers present in the array.

Ali Asghar Manjotho, Lecturer CSE-MUET 53

Numbers

85

74

-81

15

-74

0

-36

-25

54

49

Positive Numbers = 5

Negative Numbers = 4

Zeros = 1

Sum of Positive Numbers = 277

Sum of Negative Numbers = 216

Page 54: Computer programming lecture – 31 to 35

Program Example 03

Ali Asghar Manjotho, Lecturer CSE-MUET 54

Page 55: Computer programming lecture – 31 to 35

Program Example 03

Ali Asghar Manjotho, Lecturer CSE-MUET 55

Page 56: Computer programming lecture – 31 to 35

Program Example 03

Ali Asghar Manjotho, Lecturer CSE-MUET 56

Page 57: Computer programming lecture – 31 to 35

Program Example 03

Ali Asghar Manjotho, Lecturer CSE-MUET 57

Page 58: Computer programming lecture – 31 to 35

Program Example 04

Problem Statement:

Write a program in C++ that performs the addition of two matrices of size 3 x 3. Program should create three matrices namely A, B and C. Matrix A and B are define below. The matrix C is the defined as C = A + B.

𝐴 =1 2 34 5 67 8 9

𝐵 =3 1 97 8 05 3 6

𝐶 = 𝐴 + 𝐵 =4 3 1211 13 612 11 15

Ali Asghar Manjotho, Lecturer CSE-MUET 58

Page 59: Computer programming lecture – 31 to 35

Program Example 04

Ali Asghar Manjotho, Lecturer CSE-MUET 59

Page 60: Computer programming lecture – 31 to 35

Program Example 04

Ali Asghar Manjotho, Lecturer CSE-MUET 60

Page 61: Computer programming lecture – 31 to 35

Program Example 04

Ali Asghar Manjotho, Lecturer CSE-MUET 61

Page 62: Computer programming lecture – 31 to 35

Program Example 05

Problem Statement:

Write a program in C++ that creates a matrix A and generates its transpose in matrix T.

𝐴 =1 2 34 5 67 8 9

𝑇 =1 4 72 5 83 6 9

Ali Asghar Manjotho, Lecturer CSE-MUET 62

Page 63: Computer programming lecture – 31 to 35

Program Example 05

Ali Asghar Manjotho, Lecturer CSE-MUET 63

Page 64: Computer programming lecture – 31 to 35

Program Example 05

Ali Asghar Manjotho, Lecturer CSE-MUET 64

Page 65: Computer programming lecture – 31 to 35

Program Example 05

Ali Asghar Manjotho, Lecturer CSE-MUET 65

Page 66: Computer programming lecture – 31 to 35

Program Example 06

Problem Statement:

Three sessional test are conducted in the subject of Computer Programming. Each of whichhaving 05 maximum marks. The total sessional marks out of 10, for every student, arecalculated by adding two best test marks. Write a program in C++ that inputs the roll number(Just the number not string) and marks of three sessional tests for five students and displaysthe total marks for each of the student.

Ali Asghar Manjotho, Lecturer CSE-MUET 66

Roll No Test 01 Test 02 Test 03 TotalStudent 1 01 4 5 3 9Student 2 03 5 5 4 10Student 3 05 2 4 3 7Student 4 07 0 4 1 5Student 5 09 3 3 2 6

Page 67: Computer programming lecture – 31 to 35

Program Example 06

Ali Asghar Manjotho, Lecturer CSE-MUET 67

Page 68: Computer programming lecture – 31 to 35

Program Example 06

Ali Asghar Manjotho, Lecturer CSE-MUET 68

Page 69: Computer programming lecture – 31 to 35

Program Example 06

Ali Asghar Manjotho, Lecturer CSE-MUET 69