Pattern Programs in C
Written by
Here is a list of most asked Pattern programs in C++.
Pattern
* *** ***** ******* *********
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //for each row
{
for (int j = 0; j < n - i; ++j) //for printing spaces
cout << " ";
for (int j = 0; j < 2 *i - 1; ++j) //for printing star
cout << "*";
cout << "\n"; //going to new line after completing one row
}
return 0;
}
Pattern
* * * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //for each row
{
for (int j = 0; j < n - i; ++j) //for printing spaces
cout << " ";
for (int j = 1; j <= i; ++j) //for printing star and space
cout << "*";
cout << "\n"; //going to new line after completing one row
}
return 0;
}
Pattern
1 121 12321
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //for each row
{
for (int j = 0; j < n - i; ++j) //for printing spaces
cout << " ";
for (int j = 1; j <= i; ++j) //for increasing series
cout << j; for (int j = i - 1; j > 0; --j)
cout << j;
cout << "\n"; //going to new line after completing one row
}
return 0;
}
Pattern
* 1 * * 1 2 1 * * 1 2 3 2 1 *
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //for each row
{
cout << ""; //beginning star
for (int j = 1; j <= i; ++j) //for increasing series
cout << j << " "; for (int j = i - 1; j > 0; --j) //for decreasing series
cout << j << " ";
cout << ""; //ending star
cout << "\n"; //going to new line after completing one row
}
return 0;
}
Pattern
1 2 3 4 5 6 7 8 9 10
#include
#include //for setw function
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
int num = 1; //maintains the number to be printed
for (int i = 1; i <= n; ++i) //for row
{
for (int j = 0; j < i; ++j) //printing num and incrementing it ‘i’ times
cout << setw(3) << num++ << " "; //setw is used to prevent disruption due to different number
//of digits
cout << "\n"; //going to next line to print next row
}
return 0;
}
Pattern
A ABC ABCDE ABCDEFG
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //for each row
{
for (int j = 0; j < n - i; ++j) //for printing spaces
cout << " ";
for (int j = 1; j <= 2 *i - 1; ++j) //for printing alphabets
cout << (char)('A' + j - 1);
cout << "\n"; //going to new line after completing one row
}
return 0;
}
Pattern
A ABA ABCBA ABCDCBA
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //for each row
{
for (int j = 0; j < n - i; ++j) //for printing spaces
cout << " ";
for (int j = 0; j < i; ++j) //for increasing Alphabets
cout << (char)('A' + j); for (int j = i - 1; j > 0; --j) //for decreasing Alphabets
cout << (char)('A' + j - 1);;
cout << "\n"; //going to new line after completing one row
}
return 0;
}
Pattern
A1 AB12 ABC123 ABCD1234
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //for each row
{
for (int j = 0; j < n - i; ++j) //for printing spaces
cout << " ";
for (int j = 1; j <= i; ++j) //for printing alphabets
cout << (char)('A' + j - 1);
for (int j = 1; j <= i; ++j) //for printing numbers
cout << j;
cout << "\n"; //going to new line after completing one row
}
return 0;
}
30+ C Programming Interview Questions
Pattern
*****1***** ****2*2**** ***3*3*3*** **4*4*4*4** *5*5*5*5*5* 6*6*6*6*6*6
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //for row
{
int num = i;
for (int j = 0; j < n - i; ++j) //printing preceding stars
cout << "";
while (--num) //printing the numbers with stars
cout << i << "";
cout << i; //printing the number last time without star
for (int j = 0; j < n - i; ++j) //printing following stars
cout << "*";
cout << "\n"; //going to next line to print next row
}
return 0;
}
Pattern
* * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 0; i < n - 1; ++i) //for row till second-last
{
int j;
for (j = 1; j <= n + i; ++j) //moving cursor from first to last place of line
{
if (j == n - i || j == n + i) //printing star as required
cout << "*";
else //printing space
cout << " ";
}
cout << "\n"; //going to new line after completing one row
}
for (int j = 0; j < n; ++j) //printing last row
cout << "*";
return 0;
}
Pattern
* * * * * * * * * * * * * * * * * *
#include
using namespace std;
int main()
{
int l, b;
cout << "Enter length and breadth seperated by space\n"; cin >> l >> b;
for (int i = 0; i < b; ++i) //for row
{
if (i == 0 || i == b - 1) //printing first and last row
{
for (int j = 0; j < l; ++j)
cout << "*";
}
else
{
for (int j = 0; j < 2 * l; ++j) //printing other rows
{
if (j == 0 || j == 2 l - 2) //printing first and last star
cout << "";
else //printing spaces
cout << " ";
}
}
cout << "\n";
}
return 0;
}
Pattern
* * * * * * * * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 0; i < n; ++i) //for row
{
for (int j = 0; j < 4 * i; ++j)
cout << " "; //printing beginning spaces
for (int j = 0; j < n - i; ++j)
cout << "*"; //printing stars
cout << "\n"; //going to next line to print next row
}
return 0;
}
Pattern
* * * * * * * * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 0; i < n; ++i) //for row
{
for (int j = 0; j < n - i; ++j)
cout << "*"; //printing stars
cout << "\n"; //going to next line to print next row
}
return 0;
}
Pattern
* * * * * * * * * * * * * * * * * * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter height of triangle\n"; cin >> n;
for (int i = 1; i <= n; ++i) //printing upper half of triangle
{
for (int j = 0; j < (2 (n - i)); ++j)
cout << " "; //printing spaces
for (int j = 0; j < i; ++j)
cout << ""; //printing spaces
cout << "\n"; //going to next line to print next row } for (int i = n - 1; i > 0; --i) //printing lower half
{
for (int j = 0; j < (2 (n - i)); ++j)
cout << " "; //printing spaces
for (int j = 0; j < i; ++j)
cout << ""; //printing spaces
cout << "\n"; //going to next line to print next row
}
return 0;
}
Pattern
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter height of one half\n"; cin >> n;
for (int i = n; i > 0; --i) //print upper half
{
for (int j = 1; j <= 2 * n; ++j)
{
if (j <= i) //print stars in left half
cout << "";
else //print space after star in right half
cout << " ";
if (i <= ((2 n) - j)) //print space after star in left half
cout << " ";
else //print stars in right half
cout << "";
}
cout << "\n";
}
for (int i = 1; i <= n; ++i) //print lower half
{
for (int j = 1; j <= 2 * n; ++j)
{
if (j <= i) //print stars in left half
cout << "";
else //print space after star in right half
cout << " ";
if (i <= ((2 n) - j)) //print space after star in left half
cout << " ";
else //print stars in right half
cout << "";
}
cout << "\n";
}
return 0;
}
30+ C Programming Interview Questions
Pattern
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter half of height of butterfly\n"; cin >> n;
for (int i = 1; i <= n; ++i) //print upper half
{
for (int j = 1; j <= 2 * n; ++j)
{
if (j <= i) //print stars in left half
cout << "";
else //print space after star in right half
cout << " ";
if (i <= ((2 n) - j)) //print space after star in left half
cout << " ";
else //print stars in right half
cout << "";
}
cout << "\n"; } for (int i = n; i > 0; --i) //print lower half
{
for (int j = 1; j <= 2 * n; ++j)
{
if (j <= i) //print stars in left half
cout << "";
else //print space after star in right half
cout << " ";
if (i <= ((2 n) - j)) //print space after star in left half
cout << " ";
else //print stars in right half
cout << "";
}
cout << "\n";
}
return 0;
}
Pattern
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter width of diamond\n"; cin >> n;
for (int i = 1; i <= n; ++i) //print upper half
{
for (int j = 0; j < n - i; ++j) //print spaces
cout << " ";
for (int j = 0; j < i; ++j) //print stars
cout << "";
cout << "\n"; } for (int i = n - 1; i > 0; --i) //print lower half
{
for (int j = 0; j < n - i; ++j) //print spaces
cout << " ";
for (int j = 0; j < i; ++j) //print stars
cout << "";
cout << "\n";
}
return 0;
}
Pattern
* * * * * * * * * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter width of diamond\n"; cin >> n;
for (int i = 0; i < n; ++i) //print upper half
{
for (int j = 1; j <= 2 * n; ++j)
{
if (j == n - i || j == n + i) //print corresponding stars
cout << "";
else //printing rest spaces
cout << " ";
}
cout << "\n"; } for (int i = n - 2; i >= 0; --i) //print lower half
{
for (int j = 1; j <= 2 * n; ++j)
{
if (j == n - i || j == n + i) //print corresponding stars
cout << "";
else //printing rest spaces
cout << " ";
}
cout << "\n";
}
return 0;
}
Pattern
3 44 555 6666 555 44 3
#include
using namespace std;
int main()
{
int n, num;
cout << "Enter number to start with\n"; cin >> num;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //print upper half
{
for (int j = 1; j <= i; ++j) //print number
{
cout << num;
}
++num; //increasing for next row
cout << "\n"; } --num; //bringing back the last printed value for (int i = n - 1; i > 0; --i) //print lower half
{
--num; //decreasing the number to print
for (int j = 1; j <= i; ++j)
{
cout << num; //printing the number
}
cout << "\n";
}
return 0;
}
Pattern
1 2*3 4*5*6 7*8*9*10 7*8*9*10 4*5*6 2*3 1
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows of one half\n"; cin >> n;
int num = 1;
for (int i = 1; i <= n; ++i) //print upper half
{
for (int j = 1; j <= 2 i - 1; ++j)
{
if (j % 2 != 0) //print number at odd places
cout << num++; //increasing for next place
else //print star at odd places
cout << "";
}
cout << "\n"; } --num; //bringing back the last printed value num = num - (n - 1); //setting num to be printed at the beginning number for (int i = n; i > 0; --i) //print lower half
{
for (int j = 1; j <= 2 i - 1; ++j)
{
if (j % 2 != 0) //print number at odd places
cout << num++; //increasing for next place
else //print star at odd places
cout << "";
}
cout << "\n";
num = num - (i - 1);
}
return 0;
}
Pattern
* ** *** **** ***** **** *** ** *
#include
using namespace std;
int main()
{
int n;
cout << "Enter half of number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //upper half
{
for (int j = 1; j < i; ++j) //prints spaces
cout << " ";
for (int j = 1; j <= i; ++j) //prints stars
cout << "";
cout << "\n"; //going to new line after completing one row } for (int i = n - 1; i > 0; --i) //lower half
{
for (int j = 1; j < i; ++j) //prints spaces
cout << " ";
for (int j = 1; j <= i; ++j) //prints stars
cout << "";
cout << "\n"; //going to new line after completing one row
}
return 0;
}
Pattern
* * * ******* * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
n = n / 2;
for (int i = 1; i <= n; ++i) //upper half
{
for (int j = 0; j < n - 1 + i; ++j) //prints spaces
cout << " ";
cout << ""; //prints star
cout << "\n"; //going to new line after completing one row
}
for (int j = 0; j < 2 n + 1; ++j) //middle line
cout << "";
cout << "\n"; for (int i = n; i > 0; --i) //lower half
{
for (int j = 0; j < n - 1 + i; ++j) //prints spaces
cout << " ";
cout << ""; //prints star
cout << "\n"; //going to new line after completing one row
}
return 0;
}
Pattern
0 1 0 0 1 0
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows to be printed\n"; cin >> n;
for (int i = 1; i <= n; ++i) //row number
{
for (int j = 1; j <= i; ++j) //position in each row
{
if ((i + j) % 2 == 0) //divisibility of sum decides one or two
cout << "0 ";
else
cout << "1 ";
}
cout << "\n";
}
return 0;
}
Pattern
***** ***** *****
#include
using namespace std;
int main()
{
int n;
cout << "Enter length of rhombus\n"; cin >> n;
for (int i = 1; i <= n; ++i) //row number
{
for (int j = 1; j <= n - i; ++j) //printing spaces
cout << " ";
for (int j = 1; j <= n; ++j) //printing the side
cout << "*";
cout << "\n";
}
return 0;
}
Pattern
*** * * ***
#include
using namespace std;
int main()
{
int n;
cout << "Enter length of rhombus\n"; cin >> n;
for (int i = 1; i <= n; ++i) //row number
{
for (int j = 1; j <= n - i; ++j) //printing spaces
cout << " ";
if (i == 1 || i == n)
{
for (int j = 1; j <= n; ++j) //printing the upper and lower side
cout << "";
}
else
{
for (int j = 1; j <= n; ++j)
{
if (j == 1 || j == n) //print first and last star of the side
cout << "";
else
cout << " ";
}
}
cout << "\n";
}
return 0;
}
Pattern
N=2; X X X X N=5; X X O X O X X O X O X X O X O X X N=6; X X O X O X X O X X O X X O X X O X X O X O X X
#include
using namespace std;
void px(int n) //print alternate X O beginning from X
{
for (int i = 1; i <= n; ++i)
{
if (i % 2 != 0)
cout << "X ";
else
cout << "O ";
}
}
void po(int n) //print alternate X O beginning from O
{
for (int i = 1; i <= n; ++i)
{
if (i % 2 != 0)
cout << "O ";
else
cout << "X ";
}
}
int main()
{
int n, m, i, spaces, val;
cout << "Enter number of elements in middle row\n"; cin >> m;
if (m % 2 == 0) //n-2 lines in case of even
n = m - 1;
n = m - 1; //just n-1 for odd
spaces = m - 1; //number of spaces
for (int i = 1; i <= n / 2; ++i) //print 2 rows together
{
val = i; //number of values in row
for (int j = 1; j <= spaces; j++)
cout << " ";
if (i % 2 != 0)
px(val);
else
po(val);
cout << "\n";
//printing second row with one space more
for (int j = 1; j <= spaces + 1; j++)
cout << " ";
if (i % 2 != 0) //odd row number
px(val);
else
po(val);
cout << "\n";
}
if (m % 2 == 0) //extra mid row for even m
{
i = m / 2;
val = i;
for (int j = 1; j <= spaces; j++)
cout << " ";
if (i % 2 != 0)
px(val);
else
po(val);
cout << "\n";
}
//printing middle row
if (m % 2 != 0)
px(m);
else
{
val = m / 2;
px(val);
if (val % 2 == 0) //printed half ended on o
po(val);
else //printed half ended at x
px(val);
}
cout << "\n";
//printing lower half
spaces = 1;
if (m % 2 == 0) //extra mid row for even m
{
i = m / 2;
val = i;
for (int j = 1; j <= spaces; j++)
cout << " ";
px(val);
spaces++; //incrementing spaces for next row
cout << "\n"; } for (int i = n / 2; i > 0; --i)
{
val = i; //number of values in row
for (int j = 1; j <= spaces; j++)
cout << " ";
px(val);
cout << "\n";
spaces++;
//printing second row with one space more
for (int j = 1; j <= spaces; j++)
cout << " ";
px(val);
cout << "\n";
spaces++;
}
return 0;
}
Pattern
* * * * * * * * * * * * * * * * * * * * * * * *
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of steps\n"; cin >> n;
for (int i = 1; i <= n; ++i)
{
int spaces = 2 (n - i);
int ctr = 0;
while (ctr < 2) //print same row twice
{
for (int j = 1; j <= spaces; ++j)
cout << " ";
for (int j = 1; j <= 2 * i; ++j)
cout << "";
ctr++;
cout << "\n";
}
}
return 0;
}
Pattern
1 2 1 1 2 3 2 1 1 2 3 2 1 1 2 1
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows\n"; cin >> n;
int r = n / 2 + 1;
for (int i = 1; i <= r; ++i) //upper half
{
for (int j = 1; j <= 3 *(r - i); j++) //beginning spaces
{
cout << " "; } for (int j = i; j > 0; --j) //printing decreasing numbers
cout << j << " "; for (int j = 2 *(i - 2); j > 0; --j)
cout << " ";
for (int j = 1; j <= i && i > 1; ++j) //printing increasing numbers
cout << j << " ";
cout << "\n"; } for (int i = r - 1; i > 0; --i) //lower half
{
for (int j = 1; j <= 3 *(r - i); j++) //beginning spaces
{
cout << " "; } for (int j = i; j > 0; --j) //printing decreasing numbers
cout << j << " "; for (int j = 2 *(i - 2); j > 0; --j)
cout << " ";
for (int j = 1; j <= i && i > 1; ++j) //printing increasing numbers
cout << j << " ";
cout << "\n";
}
return 0;
}
Pattern
* * * * * * * * * * * * * * * * * * * * * * *
#include
using namespace std;
//all spaces in this program are two spaces
int main()
{
int n;
cout << "Enter number of rows\n"; cin >> n;
for (int j = 1; j < 2 * n; ++j) //printing first line { if (j == 1 || j >= n)
cout << "*";
else
cout << " ";
}
cout << "\n";
for (int i = 1; i <= n - 2; ++i) //printing the upper half
{
for (int j = 1; j <= n; ++j)
{
if (j == 1 || j == n)
cout << "*";
else
cout << " ";
}
cout << "\n";
}
for (int j = 1; j < 2 * n; ++j) //printing middle row
cout << "*";
cout << "\n";
for (int i = 1; i <= n - 2; ++i) //printing the lower half
{
for (int j = 1; j < 2 * n; ++j)
{
if (j == n || j == 2 *n - 1)
cout << "*";
else
cout << " ";
}
cout << "\n";
}
for (int j = 1; j < 2 * n; ++j) //last row
{
if (j <= n || j == 2 *n - 1)
cout << "*";
else
cout << " ";
}
return 0;
}
Pattern
1 1 12 21 123 321 1234 4321 1234554321
#include
using namespace std;
int main()
{
int n;
cout << "Enter number of rows\n"; cin >> n;
for (int i = 1; i <= n; ++i)
{
for (int j = 1; j <= 2 * n; ++j)
{
if (j <= i)
cout << j; else if (i > (2 *n - j))
cout << 2 *n - j + 1;
else
cout << " ";
}
cout << "\n";
}
return 0;
}
Pattern
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
#include
#include //to use setw function
using namespace std;
int fact(int n)
{
if (n <= 1) //factorial of zero and 1
return 1;
else
return (n* fact(n - 1));
}
int nCr(int n, int r)
{
return (fact(n) / (fact(n - r) *fact(r)));
}
int main()
{
int n;
cout << "Enter number of rows\n"; cin >> n;
for (int i = 0; i < n; ++i) { int spaces = (n - i - 1); while (spaces > 0) //printing spaces
{
cout << setw(2) << " ";
--spaces;
}
for (int j = 0; j <= i; ++j) //printing terms
cout << setw(3) << nCr(i, j) << " ";
cout << "\n";
}
return 0;
}