Write a C program to print the given number pattern series of 1’s and 0’s at alternate columns using loop. How to print number pattern with one’s at even column and zero’s at odd column using for loop in C programming. Logic to print given number pattern of 1 and 0 at alternate columns.
Example
Input
Input rows: 5 Input columns: 5
Output
01010 01010 01010 01010 01010
Required knowledge
Must know – Program to check even number
Logic to print number pattern with 1, 0 at alternate columns
In previous post I explained a similar pattern. Logic to print this is almost similar. If you have noticed the pattern carefully, for every odd columns 0 is printed and for every even columns 1 is printed.
Below is the step by step descriptive logic to print the given pattern.
- Input number of rows and columns to print from user. Store it in some variable say rows and cols.
- To iterate through rows run an outer loop from 1 to rows. The loop structure should look like for(i=1; i<=rows; i++).
- To iterate through columns run an inner loop from 1 to cols. The loop structure should look like for(j=1; j<=cols; j++).
- Inside the inner loop print 1 if current column is even otherwise print 0. Means if(j%2==0) then print 1 otherwise print 0.
- Finally move to the next line after printing one column.
Program to print number pattern with 1, 0 at even/odd columns
/**
* C program to print number pattern with 1/0 at even/odd position
*/
#include <stdio.h>
int main()
{
int rows, cols, i, j;
/* Input rows and columns from user */
printf("Enter number of rows: ");
scanf("%d", &rows);
printf("Enter number of columns: ");
scanf("%d", &cols);
for(i=1; i<=rows; i++)
{
for(j=1; j<=cols; j++)
{
// Print 1 if current column is even
if(j%2 == 1)
{
printf("0");
}
else
{
printf("1");
}
}
printf("\n");
}
return 0;
}
The above method is easy to understand and write. However, you can further optimize the above method by removing the if else condition. The statement j%2 returns 0 if number is even otherwise returns 1. We only need to print complement of value returned by j%2.
Program to print number pattern at even/odd columns
/**
* C program to print number pattern with 1/0 at even/odd position
*/
#include <stdio.h>
int main()
{
int rows, cols, i, j;
/* Input rows and columns from user */
printf("Enter number of rows: ");
scanf("%d", &rows);
printf("Enter number of columns: ");
scanf("%d", &cols);
for(i=1; i<=rows; i++)
{
for(j=1; j<=cols; j++)
{
printf("%d", !(j%2));
}
printf("\n");
}
return 0;
}
Output
Enter number of rows: 5 Enter number of columns: 5 10101 10101 10101 10101 10101
Note: To print this pattern as rectangle number pattern, just change number of rows or columns. Also you can print 1 for even rows and 0 for odd rows, for that just change printf(“1”); to printf(“0”); and vice versa.
Happy coding 😉
Recommended posts
- Number pattern programming exercises index.
- Loop programming exercises index.
- Star patterns programming index.
- Recommended posts –
11111 11111 11111 11111 11111
11111 00000 11111 00000 11111
11111 22222 33333 44444 55555
12345 12345 12345 12345 12345
11111 10001 10001 10001 11111
11111 11111 11011 11111 11111