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

สามเหลี่ยมผลรวมจากอาร์เรย์ (Sum Triangle) ในภาษา C

สร้างสามเหลี่ยมจากอาร์เรย์โดยการลดจำนวนสมาชิกทีละหนึ่ง ระดับใหม่จะมีค่าเป็นผลรวมของค่าที่อยู่ติดกันในระดับก่อนหน้า ทำซ้ำจนเหลือเพียงค่าเดียว

ตัวอย่าง

Array: [3, 5, 7, 8, 9]

Output:

[106]
[47, 59]
[20, 27, 32]
[8, 12, 15, 17]
[3, 5, 7, 8, 9]

อธิบาย

  • ระดับ 1: 3+5=8, 5+7=12, 7+8=15, 8+9=17
  • ระดับ 2: 8+12=20, 12+15=27, 15+17=32
  • ระดับ 3: 20+27=47, 27+32=59
  • ระดับ 4: 47+59=106

โค้ดตัวอย่าง (Recursive)

#include <stdio.h>

void printTriangle(int arr[], int n) {
    if (n < 1) return;
    int temp[n - 1];
    for (int i = 0; i < n - 1; i++) {
        temp[i] = arr[i] + arr[i + 1];
    }
    printTriangle(temp, n - 1);
    for (int i = 0; i < n; i++) {
        printf("%d%s", arr[i], (i == n - 1) ? " " : ", ");
    }
    printf("\n");
}

int main() {
    int arr[] = {3, 5, 7, 8, 9};
    int n = sizeof(arr) / sizeof(arr[0]);
    printTriangle(arr, n);
    return 0;
}

ผลลัพธ์

106
47, 59
20, 27, 32
8, 12, 15, 17
3, 5, 7, 8, 9