สามเหลี่ยมผลรวมจากอาร์เรย์คือรูปสามเหลี่ยมที่สร้างขึ้นโดยการลดจำนวนองค์ประกอบของอาร์เรย์ทีละรายการ และอาร์เรย์ใหม่ที่สร้างขึ้นจะมีจำนวนเต็มที่เป็นผลรวมของจำนวนเต็มที่อยู่ติดกันของอาร์เรย์ที่มีอยู่ ขั้นตอนนี้จะดำเนินต่อไปจนกว่าจะเหลือเพียงองค์ประกอบเดียวในอาร์เรย์
มาดูตัวอย่างเพื่ออธิบายเนื้อหากันดีกว่า
Array = [3,5,7,8,9]
ผลผลิต
[106] [47,59] [20,27,32] [8,12,15,17] [3,5,7,8,9]
คำอธิบาย
For the first array : ( 3 + 5 = 8), ( 5 + 7 = 12), ( 7 + 8 = 15),( 8 + 9 = 17) For the second array: 8 + 12 = 20 , 12 + 15 = 27 , 15 + 17 = 32 For the third array: 20 + 27 = 47 , 27 + 32 = 59 For the final array: 47 + 59 = 106
รหัสทำงานตามที่แสดงในคำอธิบายตัวอย่าง สำหรับสิ่งนี้ เราจำเป็นต้องมีฟังก์ชันเรียกซ้ำซึ่งจะเรียกตัวเองว่าทุกอาร์เรย์
ตัวอย่าง
#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++) { int x = arr[i] + arr[i + 1]; temp[i] = x; } printTriangle(temp, n - 1); for (int i = 0; i < n ; i++) { if(i == n - 1) printf("%d ",arr[i]); else printf("%d, ",arr[i]); } printf("\n"); } int main() { int arr[] = { 3,5,7,8,9}; int n = sizeof(arr) / sizeof(arr[0]); printTriangle(arr, n); }
ผลลัพธ์
106 47, 59 20, 27, 32 8, 12, 15, 17 3, 5, 7, 8, 9