Tuesday, February 13, 2024

19. WAP to implement Lower Triangular Matrix using one-dimensional array.

 19. WAP to implement Lower Triangular Matrix using one-dimensional array. 


PROGRAME CODE

#include<stdio.h>

#include<iostream>

using namespace std;

class ltm{

                int arr[50][50],row,col,arr1[100];

                public:

                                ltm(){

                                                row=0;

                                                col=0;

                                }

                                void getdata(){

                                                cout<<"ENTER THE VALUE OF THE ROW ...."<<endl;

                                                cin>>row;

                                                cout<<"ENTER THE VALUE OF THE COL....."<<endl;

                                                cin>>col;

                                                cout<<"ENTER THE VALUES OF THE MATRIX..."<<endl;

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

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

                                                                                cin>>arr[i][j];

                                                }

                                                if(check())

                                                                cout<<"THE MATRIX IS A LOWER TRIDIAGONAL MATRIX....."<<endl;

                                                else

                                                                cout<<"THE MATRIX IS NOT A LOWER TRIDIAGONAL MATRIX....."<<endl;

                                }

                                int check(){

                                                int flag1=0,flag2=0;

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

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

                                                                                if(j<=i&&arr[i][j]==0)

                                                                                                flag1++;

                                                                                if(j>i&&arr[i][j]!=0)

                                                                                                flag2++;

                                                                }

                                                }

                                                if(flag1!=0||flag2!=0)

                                                                return 0;

                                                else

                                                                return 1;

                                }

                                void ltm1(){

                                                int k=0,k2=0;

                                                int k1=row;

                                                while(row>=1){

                                                                k=k+row;

                                                                row--;

                                                }

                                                row=k1;

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

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

                                                                                if(arr[i][j]!=0){

                                                                                                arr1[k2]=arr[i][j];

                                                                                                k2++;

                                                                                }

                                                                }

                                                }

                                                for(int p=0;p<k;p++)

                                                                cout<<arr1[p]<<"  ";

                                                cout<<endl;

                                }

                                void display(){

                                                cout<<"THE ORIGINAL MATRIX ->"<<endl;

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

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

                                                                                cout<<arr[i][j]<<"  ";

                                                                cout<<endl;

                                                }

                                }

};

int main(){

                ltm ob;

                int opt=0;

                do{

                                cout<<"\nPRESS 0 TO EXIT ......."<<endl;

                                cout<<"PRESS 1 TO ENTER DATA........"<<endl;

                                cout<<"PRESS 2 TO DISPLAY ORIGINAL MATRIX ......"<<endl;

                                cout<<"PRESS 3 TO DISPLAY TRIDIAGONAL ELEMENTS......"<<endl;

                                cin>>opt;

                                switch(opt){

                                                case 0:

                                                                break;

                                                case 1:

                                                                ob.getdata();

                                                                break;

                                                case 2:

                                                                ob.display();

                                                                break;

                                                case 3:

                                                                ob.ltm1();

                                                                break;

                                                default:

                                                                cout<<"ERROR OPTION CHOICE......"<<endl;

                                }

                }while(opt!=0);

                return 0;  }


No comments:

Post a Comment