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

โปรแกรม C พิมพ์เมทริกซ์แบบ Snake Pattern เริ่มจากคอลัมน์สุดท้าย

โจทย์

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

ตัวอย่าง

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

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

อัลกอริทึม

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

โค้ดภาษา C

#include <stdio.h>

int main() {
    int n = 5;
    int arr[][5] = {
        {10, 20, 30, 40, 50},
        {60, 70, 80, 90, 100},
        {110, 120, 130, 140, 150},
        {160, 170, 180, 190, 200},
        {210, 220, 230, 240, 250}
    };
    
    for (int i = 0; i < n; i++) {
        if (i % 2 == 1) {
            for (int j = 0; j < n; j++)
                printf("%d ", arr[i][j]);
        } else {
            for (int j = n - 1; j >= 0; j--)
                printf("%d ", arr[i][j]);
        }
    }
    return 0;
}

ผลลัพธ์

50 40 30 20 10 60 70 80 90 100 150 140 130 120 110 160 170 180 190 200 250 240 230 220 210