🟢 Beginner · Lesson 16
Pattern Programs
Pattern Programs
Understanding Pattern Programs
Pattern programs are a classic way to practice nested loops. The key insight is:
- Outer loop → controls the number of rows
- Inner loop → controls the number of columns (characters per row)
- The relationship between the row number and column count determines the shape
💡 Strategy to Solve Any Pattern
- Look at the pattern — how many rows?
- In each row, what's printed and how many times?
- Find the relationship between row number (i) and column count (j)
- Write outer loop for rows, inner loop(s) for columns
Star Patterns
Pattern 1: Right Triangle (Increasing)
C Language
#include <stdio.h> int main() { int n = 5; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) // j goes from 1 to i printf("* "); printf("\n"); } return 0; }
*
* *
* * *
* * * *
* * * * *
Pattern 2: Inverted Right Triangle
C Language
int n = 5; for (int i = n; i >= 1; i--) { // i starts from n, counts down for (int j = 1; j <= i; j++) printf("* "); printf("\n"); }
* * * * *
* * * *
* * *
* *
*
Pattern 3: Square Pattern
C Language
int n = 4; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) // Always n columns printf("* "); printf("\n"); }
* * * *
* * * *
* * * *
* * * *
Pattern 4: Hollow Rectangle
C Language
int rows = 4, cols = 6; for (int i = 1; i <= rows; i++) { for (int j = 1; j <= cols; j++) { if (i == 1 || i == rows || j == 1 || j == cols) printf("* "); // Border only else printf(" "); // Interior spaces } printf("\n"); }
* * * * * *
* *
* *
* * * * * *
Number Patterns
Pattern 5: Floyd's Triangle
C Language
int n = 5, num = 1; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i; j++) printf("%3d", num++); // num increases continuously printf("\n"); }
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
Pattern 6: Number Triangle (1 to i)
C Language
for (int i = 1; i <= 5; i++) { for (int j = 1; j <= i; j++) printf("%d ", j); printf("\n"); }
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Pattern 7: Same Number Each Row
C Language
for (int i = 1; i <= 5; i++) { for (int j = 1; j <= i; j++) printf("%d ", i); // Print row number i times printf("\n"); }
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
Alphabet Patterns
Pattern 8: Alphabet Triangle
C Language
for (int i = 1; i <= 5; i++) { for (int j = 0; j < i; j++) printf("%c ", (char)('A' + j)); // A B C D E printf("\n"); }
A
A B
A B C
A B C D
A B C D E
Pyramid Patterns (Centered)
Pattern 9: Centered Star Pyramid
C Language
#include <stdio.h> int main() { int n = 5; for (int i = 1; i <= n; i++) { for (int s = 1; s <= n - i; s++) // Leading spaces printf(" "); for (int j = 1; j <= 2*i - 1; j++) // Stars: 2i-1 printf("*"); printf("\n"); } return 0; }
*
***
*****
*******
*********
Pattern 10: Diamond Pattern
C Language
#include <stdio.h> int main() { int n = 4; // Upper half for (int i = 1; i <= n; i++) { for (int s = 1; s <= n - i; s++) printf(" "); for (int j = 1; j <= 2*i - 1; j++) printf("*"); printf("\n"); } // Lower half for (int i = n - 1; i >= 1; i--) { for (int s = 1; s <= n - i; s++) printf(" "); for (int j = 1; j <= 2*i - 1; j++) printf("*"); printf("\n"); } return 0; }
*
***
*****
*******
*****
***
*
Practice Summary
You've learned 10 patterns. Try these on your own:
| # | Pattern Name | Technique |
|---|---|---|
| 1 | Right Triangle ★ | j from 1 to i |
| 2 | Inverted Triangle ★ | i from n down to 1 |
| 3 | Square ★ | j always from 1 to n |
| 4 | Hollow Rectangle ★★ | border condition |
| 5 | Floyd's Triangle ★★ | continuous counter num++ |
| 6 | Number 1-to-i ★ | print j |
| 7 | Same Number Each Row ★ | print i |
| 8 | Alphabet Triangle ★★ | 'A' + j |
| 9 | Centered Pyramid ★★ | spaces + 2i-1 stars |
| 10 | Diamond ★★★ | pyramid + inverted |
🏋️ More Practice Patterns
Try: (1) Right-aligned triangle (spaces on left) (2) Pascal's triangle (3) Butterfly pattern (4) X pattern (5) Checkerboard pattern (alternating * and space)
Patterns समझना
Pattern programs nested loops practice का classic तरीका है। Key insight:
- Outer loop → rows की संख्या control करता है
- Inner loop → columns की संख्या (हर row में characters) control करता है
- Row number (i) और column count (j) का relationship shape determine करता है
💡 हर Pattern Solve करने की Strategy
- Pattern देखो — कितने rows हैं?
- हर row में क्या print होता है और कितनी बार?
- Row number (i) और column count (j) का relation ढूंढो
- Rows के लिए outer loop, columns के लिए inner loop लिखो
Star Patterns
Pattern 1: Right Triangle
C Language
int n = 5; for(int i=1; i<=n; i++) { for(int j=1; j<=i; j++) printf("* "); // j, 1 से i तक printf("\n"); }
*
* *
* * *
* * * *
* * * * *
Pattern 2: Inverted Triangle
C Language
for(int i=5; i>=1; i--) { // i n से शुरू, नीचे जाता है for(int j=1; j<=i; j++) printf("* "); printf("\n"); }
* * * * *
* * * *
* * *
* *
*
Number Patterns
Pattern 3: Floyd's Triangle
C Language
int num = 1; for(int i=1; i<=5; i++) { for(int j=1; j<=i; j++) printf("%3d", num++); printf("\n"); }
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
Pattern 4: Ek Row mein Same Number
C Language
for(int i=1; i<=5; i++) { for(int j=1; j<=i; j++) printf("%d ", i); // row number i print printf("\n"); }
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
Pyramid Pattern (Centered)
C Language – Star Pyramid
int n = 5; for(int i=1; i<=n; i++) { for(int s=1; s<=n-i; s++) printf(" "); // Spaces for(int j=1; j<=2*i-1; j++) printf("*"); // Stars: 2i-1 printf("\n"); }
*
***
*****
*******
*********
Practice Summary
| # | Pattern | Technique |
|---|---|---|
| 1 | Right Triangle | j, 1 से i तक |
| 2 | Inverted Triangle | i, n से 1 तक |
| 3 | Floyd's Triangle | continuous counter num++ |
| 4 | Same Number | i print करो i बार |
| 5 | Centered Pyramid | spaces + 2i-1 stars |
🏋️ और Practice Patterns
Try करें: (1) Right-aligned triangle (left side spaces) (2) Pascal's triangle (3) Diamond pattern (4) Hollow triangle (5) Checkerboard (* और space alternate)