-
Notifications
You must be signed in to change notification settings - Fork 0
/
LOW_MAT.CPP
127 lines (108 loc) · 2.15 KB
/
LOW_MAT.CPP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include<iostream.h>
#include<conio.h>
template <class T> class arr
{
int a[5][5], i, j;
public:
arr()
{
reset();
}
void getDataL();
void getDataU();
void getDataD();
void disp();
void reset();
};
template <class T>
void arr<T>::getDataL()
{
cout<<"\n Enter the elements (non zero) of lower triangle, row wise: \n";
for(i=0; i<5; i++)
for(j=0; j<5; j++)
if(i>j || i==j)
cin>>a[i][j];
}
template <class T>
void arr<T>::getDataU()
{
cout<<"\n Enter the elements (non zero) of upper triangle, row wise: \n";
for(i=0; i<5; i++)
for(j=0; j<5; j++)
if(i<j || i==j)
cin>>a[i][j];
}
template <class T>
void arr<T>::getDataD()
{
cout<<"\n Enter the elements (non zero) of tri-diagonal, row wise: \n";
for(i=0; i<5; i++)
for(j=0; j<5; j++)
if(i==j-1 || i==j || i==j+1)
cin>>a[i][j];
}
template <class T>
void arr<T>::disp()
{
clrscr();
cout<<"\n Matrix is: \n\n";
for(i=0; i<5; i++)
{
cout<<"\n\t";
for(j=0; j<5; j++)
{
if(a[i][j] != 0)
cout<<a[i][j]<<" ";
else
cout<<" ";
}
}
reset();
}
template <class T>
void arr<T>::reset()
{
for(i=0; i<5; i++)
for(j=0; j<5; j++)
a[i][j] = 0;
}
void main()
{
clrscr();
int choice, x;
arr<int> mat;
char ch;
cout<<"\n\t THIS PROGRAM IMPLEMENTS SPARSE MATRICES USING AN ARRAY OF SIZE 5x5 ";
cout<<"\n\t--------------------------------------------------------------------\n";
here:
clrscr();
cout<<"\nMENU:- \n"
<<"\n1) Lower Tringle Matrix / Triangular Matrix"
<<"\n2) Lower Tringle Matrix"
<<"\n3) Tri-diagonal Matrix\n\n";
cin>>choice;
switch(choice)
{
case 1: clrscr();
mat.getDataL();
getch();
mat.disp();
break;
case 2: clrscr();
mat.getDataU();
getch();
mat.disp();
break;
case 3: clrscr();
mat.getDataD();
getch();
mat.disp();
break;
default: "\nInvalid input!!";
}
cout<<"\n\nWanna try again??"
<<"\nHit 'Y', else any other key: ";
cin>>ch;
if(ch == 'y' || ch == 'Y')
goto here;
}