C++ Exercises: Produce a square matrix with 0's down the main diagonal
C++ For Loop: Exercise-69 with Solution
Write a program in C++ to produce a square matrix with 0's down the main diagonal, 1's in the
entries just above and below the main diagonal, 2's above and below that, etc.
0 1 2 3 4
1 0 1 2 3
2 1 0 1 2
3 2 1 0 1
4 3 2 1 0
Pictorial Presentation:

Sample Solution:-
C++ Code :
#include <iostream>
using namespace std;
int main()
{
int n, i, j, k, m = 0;
cout << "\n\n Print patern........:\n";
cout << "-----------------------------------\n";
cout << " Input number or rows: ";
cin >> n;
for (i = 1; i <= n; i++) {
if (i == 1) {
for (j = 1; j <= i; j++) {
cout << m << " ";
}
for (k = 1; k <= n - i; k++) {
cout << k << " ";
}
}
else {
for (k = i - 1; k >= 1; k--) {
cout << k << " ";
}
cout << m << " ";
for (j = 1; j <= n - i; j++) {
cout << j << " ";
}
}
cout << endl;
}
cout << endl;
}
Sample Output:
Print patern........: ----------------------------------- Input number or rows: 8 0 1 2 3 4 5 6 7 1 0 1 2 3 4 5 6 2 1 0 1 2 3 4 5 3 2 1 0 1 2 3 4 4 3 2 1 0 1 2 3 5 4 3 2 1 0 1 2 6 5 4 3 2 1 0 1 7 6 5 4 3 2 1 0
Flowchart:

C++ Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a program that will print the first N numbers for a specific base.
Next: Write a program in C++ to convert a decimal number to binary number.
What is the difficulty level of this exercise?
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join