0% found this document useful (0 votes)
101 views29 pages

CS201 13

The document discusses manipulation of two-dimensional arrays and solving real-world problems using arrays. It provides examples of inputting and outputting 2D arrays, addressing array elements, and transposing a matrix. It then presents a practical problem of determining employees who get less take-home pay than others with lower initial salaries, given tax brackets. The proposed solution includes functions for input, salary calculation, identifying unlucky individuals, and output, with pseudocode for the main function.

Uploaded by

Ameet
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
101 views29 pages

CS201 13

The document discusses manipulation of two-dimensional arrays and solving real-world problems using arrays. It provides examples of inputting and outputting 2D arrays, addressing array elements, and transposing a matrix. It then presents a practical problem of determining employees who get less take-home pay than others with lower initial salaries, given tax brackets. The proposed solution includes functions for input, salary calculation, identifying unlucky individuals, and output, with pseudocode for the main function.

Uploaded by

Ameet
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 29

Introduction to Programming

Lecture 13

Todays Lecture

Manipulation of Two dimensional arrays


Analyzing and solving a real world problem

Array Manipulation

Example 1
Input Row 1 Row 2

1 4 7

2 5 8

3 6 9

Memory Row 3 Row 2 Row 1

Row 3

7 4 1

8 5 2

9 6 3

Output

Addressing Array Elements


a [rowIndex ] [ columnIndex ]

Example 1
int row ; int col ; const maxRows = 3 ; const maxCols = 3 ; int a [ maxRows ] [ maxCols ] ;

Example 1
for ( row = 0 ; row < maxRows ; row ++ ) { for ( col = 0 ; col < maxCols ; col ++ ) { cout << Please enter value of element number <<row<< , << col ; cin >> a [ row ] [ col ] ; } }

Example 2
maxRows = 3 ; maxCols = 3 ;

Index of Start [0] [1] Index of Last Row = maxRows - 1 [2]

Example 2
for ( row = maxRows - 1 ; row >= 0 ; row -- ) { Decrement Operator for ( col = 0 ; col < maxCols ; col ++ ) }
Row 1

1 4 7

2 5 8

3 6 9

Row 3 Row 2 Row 1

7 4 1

8 5 2

9 6 3

Row 2
Row 3

Example 2: Formatted Output


cout << The original matrix is ; for ( row = 0 ; row < maxRows ; row ++ ) { for ( col = 0 ; col < maxCols ; col ++ ) { cout << a [ row ] [ col ] ; \t ; << } 15 42 }

Example 2: Formatted Output


for ( row = 0 ; row < maxRows ; row ++ ) { for ( col = 0 ; col < maxCols ; col ++ ) { cout << a [ row ] [ col ] << \t ; } cout << \n ; } 15 42 26 7

Exercise
Enter the values in a matrix and print it in reverse Column order
[0] [1] [2] [2] [1] [0]

3
6 9

2
5 8

1
4 7

4
7

5
8

6
9

Transpose of a Matrix

1 4 7

2 5 8

3 6 9

Square Matrix
Number of rows are equal to number of columns

arraySize =

rows cols

Square Matrix
a ij = a
ji

i = rows j = columns

Square Matrix
int a [ row ] [ col ] ; int arraySize ; for ( row = 0 ; row < arraySize ; row ++ ) { for ( col = 0 ; col < arraySize ; col ++ ) { //Swap values } }

Swap Mechanisms
temp = a [ row ] [ col ] ; a [ row ] [ col ] = a [ col ] [ row ] ; a [ col ] [ row ] = temp ;

Practical Problem
Problem statement
Given tax brackets and given employee gross salaries , determine those employees who actually get less take home salary than others with lower initial income

Rule for tax deduction


0 5001 10,001 20,001 > 5,000 >10,000 >20,000 and more No tax 5% Income Tax 10% Income Tax 15% Income tax

Example
Net salary = Rs 10,000 Tax = 5% Amount Deducted = 5% of 10,000 = 500 Net amount after deduction = 10,000 - 500 = 9,500
Net salary = Rs 10,001 Tax = 10% Amount Deducted = 10% of 10,001 = 1,000.1 Net amount after deduction = 10,001 - 1,000.1 = 9,000.9

Storage Requirement
One- dim arrays of integer
lucky = 0 lucky = 1

0
0 0

0
0 0 0

Storage of salary
No of Emp. Grow Salary Net Salary After Deduction

1 2 3 4 5

5,000 10,000

5,000 9,500

6
7 8 9 10

Interface Requirements

Distribution of the Program


Input Salary calculation Identification of the unlucky individuals Output

Detail Design
Functions in the program

getInput calculateSalary locateUnluckyIndividual displayOutput

#include<iostream.h>

Code

void getinput ( int [ ] [ 2 ] , int ) ; main ( ) { const int arraySize = 100 ; int sal [ arraySize ] [ 2 ] ; int lucky [ arraySize ] = { 0 } ; int numEmps ; cout << Enter the number of employess ; cin >> numEmps ; getInput ( sal , numEmps ) ; }

Code
getInput ( int sal [ ] [2] , int numEmps ) { for ( i = 0 ; i < numEmps ; i ++ ) cin >> sal [ i ] [ 0 ] ; }

[email protected]

Exercise
Suppose you are given a square matrix of size n x n , write a program to determine if this is an identity matrix

You might also like