Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 프로그래밍의 배열에서 삼각형의 합

<시간/>

배열로부터의 합 삼각형은 배열의 원소의 개수를 하나씩 감소시켜 만든 삼각형이며, 새로 형성되는 배열은 기존 배열의 인접한 정수들의 합인 정수들로 이루어진다. 이 절차는 배열에 하나의 요소만 남을 때까지 계속됩니다.

내용을 더 잘 설명하기 위해 예를 들어 보겠습니다.

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