Back to: Data Structures and Algorithms Tutorials
Menu Driven Program for Matrices in C and C++ Language:
In this article, I am going to discuss Menu Driven Program for Matrices in C and C++ Language with Examples. Please read our previous article, where we discussed Toeplitz Matrix in C Language with Examples.
Menu Driven Program for Matrices:
We will show for the only diagonal matrix but you can modify the program to create a menu program for other matrices. In our program, there will be 5 choices:
- Create Matrix
- Get Element
- Set Element
- Display Matrix
- Exit
Now, let see the code:
Menu Driven Program for Matrices Code in C Language:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int n, ch, y, i, j;
printf ("Enter Dimension of Matrix: ");
scanf ("%d", &n);
int *B = (int *) malloc (n * sizeof (int));
do
{
printf ("\n1. Create Matrix\n");
printf ("2. Get Matrix Element\n");
printf ("3. Set Matrix Element\n");
printf ("4. Display Matrix\n");
printf ("0. Exit\n\n");
printf ("Enter choice: ");
scanf ("%d", &ch);
switch (ch)
{
case 1:
printf ("Enter non-zero elements of Diagonal Matrix:\n");
for (int k = 0; k < n; k++)
{
scanf ("%d", &B[k]);
}
break;
case 2:
printf ("Enter Indices: \n");
scanf ("%d%d", &i, &j);
if (i == j)
printf ("%d ", B[i - 1]);
else
printf ("0 ");
break;
case 3:
printf ("Enter row, column and element:\n");
scanf ("%d%d%d", &i, &j, &y);
if (i == j)
B[i - 1] = y;
break;
case 4:
printf ("Matrix is: \n");
for (int r = 0; r < n; r++)
{
for (int c = 0; c < n; c++)
{
if (r == c)
{
printf ("%d ", B[r]);
}
else
{
printf ("0 ");
}
}
printf ("\n");
}
break;
printf ("Enter choice: ");
scanf ("%d", &ch);
}
}
while (ch > 0);
getchar ();
}
Output:

Menu Driven Program for Matrices Using Functions:
In our program, there will be 5 choices:
- Create Matrix
- Get Element
- Set Element
- Display Matrix
- Exit
Now, let see the code:
Menu Driven Program for Matrices Using Functions Code in C Language:
#include <stdio.h>
#include <stdlib.h>
int* CreateMatrix (int *B, int n)
{
printf ("Enter non-zero elements of Diagonal Matrix:\n");
for (int k = 0; k < n; k++)
{
scanf ("%d", &B[k]);
}
}
void SetElement (int *B, int y, int i, int j)
{
if (i == j)
B[i - 1] = y;
}
void GetElement (int *B, int i, int j)
{
if (i == j)
printf ("%d ", B[i - 1]);
else
printf ("0 ");
}
void DisplayMatrix (int *B, int n)
{
printf ("Matrix is: \n");
for (int r = 0; r < n; r++)
{
for (int c = 0; c < n; c++)
{
if (r == c)
{
printf ("%d ", B[r]);
}
else
{
printf ("0 ");
}
}
printf ("\n");
}
}
int main ()
{
int n, ch, y, i, j;
printf ("Enter Dimension of Matrix: ");
scanf ("%d", &n);
int *B = (int *) malloc (n * sizeof (int));
do
{
printf ("\n1. Create Matrix\n");
printf ("2. Get Matrix Element\n");
printf ("3. Set Matrix Element\n");
printf ("4. Display Matrix\n");
printf ("0. Exit\n\n");
printf ("Enter choice: ");
scanf ("%d", &ch);
switch (ch)
{
case 1:
CreateMatrix (B, n);
break;
case 2:
printf ("Enter Indices: \n");
scanf ("%d%d", &i, &j);
GetElement (B, i, j);
break;
case 3:
printf ("Enter row, column and element:\n");
scanf ("%d%d%d", &i, &j, &y);
SetElement (B, y, i, j);
break;
case 4:
DisplayMatrix (B, n);
break;
printf ("Enter choice: ");
scanf ("%d", &ch);
}
}
while (ch > 0);
getchar ();
}
Output:

Menu Driven Program for Matrices Using Class in C++:
In our program, there will be 5 choices:
- Create Matrix
- Get Element
- Set Element
- Display Matrix
- Exit
Now, let see the code:
Menu Driven Program for Matrices Code in C++ Language:
#include <iostream>
#include <conio.h>
using namespace std;
class Diagonal
{
private:
int *B, n;
public:
Diagonal (int n);
void Create ();
void Get (int i, int j);
void Set (int i, int j, int y);
void Display ();
~Diagonal ();
};
Diagonal::Diagonal (int n)
{
this->n = n;
B = new int[this->n];
}
void Diagonal::Create ()
{
cout << "Enter non-zero elements of Diagonal Matrix:\n";
for (int k = 0; k < n; k++)
{
cin >> B[k];
}
}
void Diagonal::Get (int i, int j)
{
if (i == j)
cout << "%d " << B[i - 1];
else
cout << "0 ";
}
void Diagonal::Set (int i, int j, int y)
{
if (i == j)
B[i - 1] = y;
}
void Diagonal::Display ()
{
cout << "Matrix is: \n";
for (int r = 0; r < n; r++)
{
for (int c = 0; c < n; c++)
{
if (r == c)
{
cout << B[r] << " ";
}
else
{
cout << "0 ";
}
}
cout << "\n";
}
}
Diagonal::~Diagonal ()
{
delete[]B;
}
int main ()
{
int n, ch, y, i, j;
cout << "Enter Dimension of Matrix: ";
cin >> n;
Diagonal dm (n);
do
{
cout << "\n1. Create Matrix\n";
cout << "2. Get Matrix Element\n";
cout << "3. Set Matrix Element\n";
cout << "4. Display Matrix\n";
cout << "0. Exit\n\n";
cout << "Enter choice: ";
cin >> ch;
switch (ch)
{
case 1:
dm.Create ();
break;
case 2:
cout << "Enter Indices: \n";
cin >> i >> j;
dm.Get (i, j);
break;
case 3:
cout << "Enter row, column and element:\n";
cin >> i >> j >> y;
dm.Set (i, j, y);
break;
case 4:
dm.Display ();
break;
cout << "Enter choice: ";
cin >> ch;
}
}
while (ch > 0);
getchar ();
}
Output:

Here, in this article, I try to explain Menu Driven Program for Matrices in C and C++ Language with Examples and I hope you enjoy this Menu Driven Program for Matrices in C and C++ Language with Examples article.
