From 2cbd85914d2304f18e8c291cc0e8f788a6a2a6c7 Mon Sep 17 00:00:00 2001 From: joker123 <56662119+leechiyun@users.noreply.github.com> Date: Sun, 17 Nov 2019 15:00:37 +0900 Subject: [PATCH] Update and rename Pascal_Triangle.cpp to pascal_triangle.cpp change file name and put code inside a function --- ...ascal_Triangle.cpp => pascal_triangle.cpp} | 65 +++++++++++-------- 1 file changed, 38 insertions(+), 27 deletions(-) rename Others/{Pascal_Triangle.cpp => pascal_triangle.cpp} (71%) diff --git a/Others/Pascal_Triangle.cpp b/Others/pascal_triangle.cpp similarity index 71% rename from Others/Pascal_Triangle.cpp rename to Others/pascal_triangle.cpp index 5c3b727c6..b6f762d97 100644 --- a/Others/Pascal_Triangle.cpp +++ b/Others/pascal_triangle.cpp @@ -2,32 +2,8 @@ using namespace std; -int main() +void show_pascal(int **arr, int n) { - int n = 0; - - cout << "Set Pascal's Triangle Height" << endl; - cin >> n; - - //memory allocation (Assign two-dimensional array to store Pascal triangle) - int **arr = new int*[n]; - for (int i = 0; i < n; ++i) - { - arr[i] = new int[2 * n - 1]; - memset(arr[i], 0, sizeof(int)*(2 * n - 1)); - } - - for (int i = 0; i < n; ++i) - { - for (int j = n-i-1; j < n+i; ++j) - { - if (j == n - i - 1 || j == n + i - 1) - arr[i][j] = 1; //The edge of the Pascal triangle goes in 1 - else - arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j + 1]; - } - } - //pint Pascal's Triangle for (int i = 0; i < n; ++i) { @@ -40,13 +16,48 @@ int main() } cout << endl; } +} + +int **pascal_triangle(int **arr, int n) +{ + for (int i = 0; i < n; ++i) + { + for (int j = n - i - 1; j < n + i; ++j) + { + if (j == n - i - 1 || j == n + i - 1) + arr[i][j] = 1; //The edge of the Pascal triangle goes in 1 + else + arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j + 1]; + } + } + + return arr; +} + +int main() +{ + int n = 0; + + cout << "Set Pascal's Triangle Height" << endl; + cin >> n; + //memory allocation (Assign two-dimensional array to store Pascal triangle) + int **arr = new int*[n]; + for (int i = 0; i < n; ++i) + { + arr[i] = new int[2 * n - 1]; + memset(arr[i], 0, sizeof(int)*(2 * n - 1)); + } + + pascal_triangle(arr, n); + show_pascal(arr, n); + //deallocation for (int i = 0; i < n; ++i) { delete[] arr[i]; } - delete [] arr; + delete[] arr; return 0; -} \ No newline at end of file +}