Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C พิมพ์เมทริกซ์แบบ Snake Pattern (เริ่มจากคอลัมน์แรก)

โจทย์

กำหนดอาร์เรย์ n×n ให้พิมพ์แบบ Snake Pattern เริ่มจากคอลัมน์แรก (ซ้ายสุด) ไปขวา แล้วบรรทัดถัดไปจากขวาไปซ้าย สลับกัน

ตัวอย่าง

Input 4x4:
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

อัลกอริทึม

  1. วนลูปแถว i = 0 ถึง M-1
  2. ถ้า i คู่ (i%2==0): พิมพ์คอลัมน์ 0 ถึง N-1 (ซ้าย→ขวา)
  3. ถ้า i คี่ (i%2==1): พิมพ์คอลัมน์ N-1 ถึง 0 (ขวา→ซ้าย)

โค้ดภาษา C

#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++) {
        if (i % 2 == 0) {
            for (j = 0; j < N; j++)
                printf("%d ", arr[i][j]);
        } else {
            for (j = N - 1; j >= 0; j--)
                printf("%d ", arr[i][j]);
        }
    }
    return 0;
}

ผลลัพธ์

100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85