Skip to content

Instantly share code, notes, and snippets.

@lakshyaraj2006
Created January 21, 2026 17:31
Show Gist options
  • Select an option

  • Save lakshyaraj2006/a6e2129f4ccff72c1032ee1a7d296c5c to your computer and use it in GitHub Desktop.

Select an option

Save lakshyaraj2006/a6e2129f4ccff72c1032ee1a7d296c5c to your computer and use it in GitHub Desktop.
These top 21 pattern printing questions which you will need to improve your logical thinking.
#include<bits/stdc++.h>
using namespace std;
void pattern1(int n) {
for (int i = 0; i < n; i++)
{
for (int j = 0; j < i+1; j++)
{
cout << "* ";
}
cout << endl;
}
}
void pattern2(int n) {
for (int i = 1; i <= n; i++)
{
for (int j = 1; j < i+1; j++)
{
cout << j << " ";
}
cout << endl;
}
}
void pattern3(int n) {
for (int i = 1; i <= n; i++)
{
for (int j = 1; j < i+1; j++)
{
cout << i << " ";
}
cout << endl;
}
}
void pattern4(int n) {
for (int i = n; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
cout << "* ";
}
cout << endl;
}
}
void pattern5(int n) {
for (int i = n; i >= 1; i--)
{
for (int j = 1; j <= i; j++)
{
cout << j << " ";
}
cout << endl;
}
}
void pattern6(int n) {
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n-i-1; j++)
{
cout << " ";
}
for (int j = 0; j < 2*i+1; j++)
{
cout << "*";
}
for (int j = 0; j < n-i-1; j++)
{
cout << " ";
}
cout << endl;
}
}
void pattern7(int n) {
for (int i = 0; i < n; i++)
{
for (int j = 0; j < i; j++)
{
cout << " ";
}
for (int j = 0; j < 2*n - (2*i+1); j++)
{
cout << "*";
}
for (int j = 0; j < i; j++)
{
cout << " ";
}
cout << endl;
}
}
void pattern8(int n) {
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n-i-1; j++)
{
cout << " ";
}
for (int j = 0; j < 2*i+1; j++)
{
cout << "*";
}
for (int j = 0; j < n-i-1; j++)
{
cout << " ";
}
cout << endl;
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < i; j++)
{
cout << " ";
}
for (int j = 0; j < 2*n - (2*i+1); j++)
{
cout << "*";
}
for (int j = 0; j < i; j++)
{
cout << " ";
}
cout << endl;
}
}
void pattern9(int n) {
for (int i = 1; i <= 2*n-1; i++)
{
int stars = i;
if (i > n) stars = 2*n - i;
for (int j = 1; j <= stars; j++)
{
cout << "* ";
}
cout << endl;
}
}
void pattern10(int n) {
int start = 1;
for (int i = 0; i < n; i++)
{
if (i%2 != 0) start = 0;
else start = 1;
for (int j = 0; j <= i; j++)
{
cout << start << " ";
start = 1 - start;
}
cout << endl;
}
}
void pattern11(int n) {
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
cout << j;
}
for (int j = 1; j <= 2*(n-i); j++)
{
cout << " ";
}
for (int j=i; j>=1; j--) {
cout << j;
}
cout << endl;
}
}
void pattern12(int n) {
int num = 1;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
cout << num << " ";
num += 1;
}
cout << endl;
}
}
void pattern13(int n) {
for (int i = 0; i < n; i++)
{
for (char c = 'A'; c <= 'A' + i; c++)
{
cout << c << " ";
}
cout << endl;
}
}
void pattern14(int n) {
for (int i = n-1; i >= 0; i--)
{
for (char c = 'A'; c <= 'A' + i; c++) {
cout << c << " ";
}
cout << endl;
}
}
void pattern15(int n) {
char c = 'A';
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
cout << c << " ";
}
cout << endl;
c++;
}
}
void pattern16(int n) {
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n-i-1; j++)
{
cout << " ";
}
char c = 'A';
int breakpt = i;
for (int j = 0; j < 2*i+1; j++)
{
cout << c;
if (j < breakpt) c++;
else c--;
}
for (int j = 0; j < n-i-1; j++)
{
cout << " ";
}
cout << endl;
}
}
void pattern17(int n) {
for (int i = 0; i < n; i++)
{
char c = 'E' - i;
for (c; c <= 'E'; c++) {
cout << c << " ";
}
cout << endl;
}
}
void pattern18(int n) {
int inis = 0;
for (int i = 0; i < n; i++)
{
for (int j = 1; j <= n-i; j++) {
cout << "*";
}
for (int j=0; j < inis; j++) {
cout << " ";
}
for (int j=1; j <= n-i; j++) {
cout << "*";
}
cout << endl;
inis += 2;
}
inis = 2*n-2;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++) {
cout << "*";
}
for (int j=0; j < inis; j++) {
cout << " ";
}
for (int j=1; j <= i; j++) {
cout << "*";
}
cout << endl;
inis -= 2;
}
}
void pattern19(int n) {
int inis = 2 * n - 2;
for (int i = 1; i <= 2 * n - 1; i++)
{
int stars = i;
if (i > n) stars = 2 * n - i;
for (int j = 1; j <= stars; j++) {
cout << "*";
}
for (int j = 1; j <= inis; j++) {
cout << " ";
}
for (int j = 1; j <= stars; j++) {
cout << "*";
}
cout << endl;
if (i < n) inis -= 2;
else inis += 2;
}
}
void pattern20(int n) {
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (i == 0 || j == 0 || i == n-1 || j == n-1) {
cout << "*";
} else {
cout << " ";
}
}
cout << endl;
}
}
void pattern21(int n) {
for (int i = 0; i < 2*n-1; i++)
{
for (int j = 0; j < 2*n-1; j++)
{
int top = i;
int left = j;
int right = (2*n - 2) - j;
int bottom = (2*n - 2) - i;
cout << (n - min(min(top, bottom), min(right, left))) << " ";
}
cout << endl;
}
}
int main() {
int n;
cin >> n;
// pattern1(n);
// cout << endl;
// pattern2(n);
// cout << endl;
// pattern3(n);
// cout << endl;
// pattern4(n);
// cout << endl;
// pattern5(n);
// cout << endl;
// pattern6(n);
// cout << endl;
// pattern7(n);
// cout << endl;
// pattern8(n);
// cout << endl;
// pattern9(n);
// cout << endl;
// pattern10(n);
// cout << endl;
// pattern11(n);
// cout << endl;
// pattern12(n);
// cout << endl;
// pattern13(n);
// cout << endl;
// pattern14(n);
// cout << endl;
// pattern15(n);
// cout << endl;
// pattern16(n);
// cout << endl;
// pattern17(n);
// cout << endl;
// pattern18(n);
// cout << endl;
// pattern19(n);
// cout << endl;
// pattern20(n);
// cout << endl;
pattern21(n);
cout << endl;
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment