Print matrix in snake pattern in C Programming.



Given an array of nxn size, the program must print the elements of an array in a snake pattern without doing any changes to their original locations

Example

Input: arr[]= 100 99 98 97    93 94 95 96    92 91 90 89    85 86 87 88 Output: 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85

The program will traverse each row of a matrix and check for even or odd rows.

  • If the row is even it will print the elements of that row from left to right

  • If the row is odd it will print the elements of that row from right to left

Algorithm

START Step 1 -> create header files for declaring rows and column let’s say of size 4x4 Step 2 -> declare initial variables i and j and array[][] with elements Step 3 -> Loop For i=0 and i<M and i++    IF i%2==0       Loop For j=0 and j<N and j++          Print arr[i][j]       End    End    Else       Loop For j=N-1 and j>=0 and j—          Print arr[i][j]       End    End STOP

Example

 Live Demo

#include<stdio.h> #define M 4 #define N 4 int main() {    int i,j;    int arr[M][N] = {       { 100, 99, 98, 97 },       { 93, 94, 95, 96 },       { 92, 91, 90, 89 },       { 85, 86, 87, 88 }    };    for (i = 0; i < M; i++) { //for rows       if (i % 2 == 0) {          for (j = 0; j < N; j++) // for column             printf("%d ",arr[i][j]);       } else{          for (j = N - 1; j >= 0; j--)             printf("%d ",arr[i][j]);       }    }    return 0; }

Output

if we run the above program then it will generate the following output

100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85
Updated on: 2019-09-04T06:08:53+05:30

4K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements