Pyramid and Star pattern generation in C
Generating pyramid and other star patterns in C extend your knowledge of using a loop in a program. In the program below I have generated various patterns. You can combine the multiple patterns to generate a new pattern. All patterns use for loop. The patterns that the code generates are:
The sample code is also available on Github
#include <stdio .h="">
#include <stdlib .h="">
void pattern_1(int n) {
int i, j;
for(i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
}
void pattern_2(int n) {
int i, j;
for(i = 0; i < n; i++) {
for(j = 0; j < n - i - 1; j++) {
printf(" ");
}
for (j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
}
void pattern_3(int n) {
int i, j;
for(i = 0; i < n; i++) {
for(j = 0; j < n - i - 1; j++) {
printf(" ");
}
for (j = 0; j <= 2 * i; j++) {
printf("*");
}
printf("\n");
}
}
void pattern_4(int n) {
int i, j;
for(i = n - 1; i >= 0; i--) {
for (j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
}
void pattern_5(int n) {
int i, j;
for(i = n - 1; i >= 0; i--) {
for(j = 0; j < n - i - 1; j++) {
printf(" ");
}
for (j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
}
void pattern_6(int n) {
int i, j;
for(i = n - 1; i >= 0; i--) {
for(j = 0; j < n - i - 1; j++) {
printf(" ");
}
for (j = 0; j <= 2 * i; j++) {
printf("*");
}
printf("\n");
}
}
void pattern_7(int n) {
int i, j;
for(i = 0; i < n; i++) {
for(j = 0; j < n - i; j++) {
printf(" ");
}
for (j = 0; j <= 2 * i; j++) {
printf("*");
}
printf("\n");
}
for(i = (n - 1) ; i >= 0; i--) {
for(j = 0; j < n - i; j++) {
printf(" ");
}
for (j = 0; j <= 2 * i; j++) {
printf("*");
}
printf("\n");
}
}
void pattern_8(int n) {
int i, j, k;
for (i = 0; i < n; i++) {
printf("\n");
for(k = 0; k < n - i; k++) {
printf("*");
}
for(k = 2*i; k > 0; k--) {
printf(" ");
}
for(k = 0; k < n - i; k++) {
printf("*");
}
}
for (i = 0; i <= n; i++) {
for(k = 0; k < i; k++) {
printf("*");
}
for(k = 0; k < 2* (n - i); k++) {
printf(" ");
}
for(k = 0; k < i; k++) {
printf("*");
}
printf("\n");
}
}
int main(int argc, char *argv[]) {
int n;
if (argc != 2) {
printf("Usage: outputfile n\n");
exit(1);
}
n = atoi(argv[1]);
pattern_1(n);
printf("\n");
pattern_2(n);
printf("\n");
pattern_3(n);
printf("\n");
pattern_4(n);
printf("\n");
pattern_5(n);
printf("\n");
pattern_6(n);
printf("\n");
pattern_7(n);
printf("\n");
pattern_8(n);
}
</stdlib></stdio>








