Printing Top Left Diagonal Half of Square Matrix Including Diagonal Members. – Computer Sir Ki Class

Login


Lost your password?

Don't have an account ?
Register (It's FREE) ×
  

Login
[lwa]



Exam Questions-CBSE12A-2018-03B #CPP#5274    siteicon   siteicon  

Problem Statement - Printing Top Left Diagonal Half of Square Matrix Including Diagonal Members.

Write definition for a function UpperHalf(int Mat[4][4]) in C++, which displays the
elements in the same way as per the example shown below.

For example, if the content of the array Mat is as follows:

25 24 23 22
20 19 18 17
15 14 13 12
10  9  8  7

The function should display the content in the following format:

25 24 23 22
20 19 18
15 14
10

Solution

TC++ #5274

void UpperHalf(int Mat[4][4])
{
  for (int I=0;I<4;I++)
  {
    for (int J=0;J<4-I;J++)
      cout<<MAT[I][J]<< " " ;
    cout<<endl;
  }
}

Notes

void UpperHalf(int Mat[4][4]) {
for (int I=0;I<4;I++) //This outer loop handles each row
{
for (int J=0;J<4-I;J++) //This inner loop prints each column of row. With every next row maximum column count is reduced by one. This is achieved by condition J<4-I, First row it prints all columns, second it prints 4-1 = 3 columns and so on.
cout<<MAT[I][J]<< ” ” ; // This prints the matrix member
cout<<endl; //This prints a line break after each row.
}
}

There could be other acceptable solutions to this problem like follows.
void UpperHalf(int Mat[4][4])
{
for (int I=0;I<4;I++)
{
for (int J=0;J<4;J++)
if ((I+J)<=3)
cout<<MAT[I][J]<< ” ” ;
cout<<endl;
}
}


Share

CSKC| Created: 4-Dec-2018 | Updated: 10-Oct-2019|CBSE12A-2018






×
Introductory Sessions Beginning to Program Tokens Keyword and Identifiers Data Types Variables and Constants Operators Simple User Input Building Expressions and Formulas Simple Real World Problems Simple If and If Else Multiple-Nested-Ladder of If Else Switch case selection Simple Loops Tricks in Loops - break continue scope Loop Applications - Handling numerals Series printing loops Nested Loops Pattern printing loops Number Varieties and Crunches String Handling (Null Terminated) Strings - string class type Functions (Built-in) Functions - user defined Functions Reference Passing/Returning Arrays Concepts and 1-D Arrays Array Data Management Two dimensional arrays and Matrices Structures Basics Structures passing/returning 2D Array Memory Addressing Display Using IO Manipulation Display Using C Formatting Tricks User Defined Data Types Enumerated Types Preprocessor Directives And Macros Exception Handling Programming Paradigms and OOPs Advantages Abstraction and Encapsulation Polymorphism Inheritance Function Overloading Concepts Function Overloading Varieties Function Overloading Special Cases Defining Classes Creating and Using Class Objects Class Members Accessibility Class Function Types Inline Functions Constant Functions Nesting of Functions Class Members Scope Resolution Static Members in a Class Array of Objects Constructor Concepts Default Constructor Parameterized Constructor Copy Constructor Constructor Overloading Destructors Inheritance Fundamentals Public Derivations Private and Protected Derivations Multiple Inheritance Multi-Level Inheritance Class Nesting Data File Concepts Handling Text Files Handling Binary Files Pointer Concepts Pointer and Arrays Pointers and Functions Object Pointers This Pointer Linked Lists Stacks Queues


Back