---
# System prepended metadata

title: 第四關程式繳交處
tags: [關卡_st]

---

---
title: 第四關程式繳交處
tags: 關卡_st
---

> [第四關題目](https://hackmd.io/@futurenest/code_challenge_4)

> [程式線上編譯環境](https://replit.com/)
:::warning
繳交規範（可以複製這裡的喔）

`### 自己名字`
`#### 題目一` 
```python
程式碼
```
`#### 題目二` 
```c++
程式碼
```
:::

---
### 郭尚蓁
```python
n = int(input("請輸入一個數:"))

triangle =[]

for i in range(n):
  row = [1 for _ in range(i+1)]
  # print("row => ", row)
  print("i =>", i)

  if i > 1:
    prev_row = triangle[-1]

    for j in range(1, len(row)-1):
      # print("prev_row[j-1] => {} prev_row[j] => {}".format(prev_row[j-1], prev_row[j] ))
      row[j] = prev_row[j-1] + prev_row[j]

  triangle.append(row)

print(triangle)
```

### 林永晉
#### 題目一：
```python=
n = int(input("請輸入一個數:"))
triangle =[]
for i in range(n):
    row = [1 for _ in range(i + 1)]
    if i > 1:
        prev_row = triangle[-1]
        for j in range(1, len(row) - 1):
            row[j] = prev_row[j - 1] + prev_row[j]
    triangle.append(row)
print(triangle)
```
#### 題目二：
```python=
ans = list(eval(input('請輸入陣列:')))
ans.reverse()
print(ans)
```
#### 題目三：
```python=
def lenth(l):
    zero = 0
    for i in range(l):
        if lst[i] == 0:
            zero += 1
    return zero

def zero(zero):
    for i in range(zero):
        lst.remove(0)
        lst.append(0)

lst = list(eval(input('請輸入陣列:')))
zero(lenth(len(lst)))
print(lst)
```
---------------------------------------------
### 張云綺 
#### 題目一 
```python=
n = int(input('要輸入幾行?'))
pascalList = [ ]

#計算帕斯卡三角形的值
for i in range(n) :
    pascalList.append([])
    pascalList[i].append(1)
    for j in range(1,i):
     pascalList[i].append(pascalList[i-1][j-1]+pascalList[i-1][j])
    if(n!=0):
     pascalList[i].append(1)

#輸出帕斯卡三角形
for i in range(n):
    print('   '*(n-i),end = '  ',sep='')
    for j in range(0,i+1):
       print('{0:6}'.format(pascalList[i][j]),end=' ',sep=' ')
    print()
```
#### 題目二
##### 第一種解法
```python=
#print any list in []
num = [ ]
print(reversed(num))
print(list(reversed(num)))
```
##### 第二種解法
```python=
# print any list in []
num = [ ]
X = sorted(num)
print(X)
Y = sorted(num,reverse = True)
print(Y)
```
#### 題目三
```python=

```
-----

### 楊芷瑜
#### 題目一
```python=

```
#### 題目二
```python=
a=input("輸入一整數陣列")
s=""
for i in range(len(a)-1,-1,-1): #(0開頭故要先減1,到那一項的後一向停止,後項減1至下一項)
 s=s+a[i]   #將其開始排列
print("[",s,"]")
```
---------------------------------------------
### 王政翔
#### 題目一
```cpp=
#include <iostream>
using namespace std;

int main(){
    int i, j, n;
    
    cin >> n;
    
    int array[21][20] = {}; //設置一個二維陣列 
    
    for(i = 0; i < n; i++){
        for(j = 0; j <= i; j++){
        	if(j == 0 || j == i || i == n){
		    array[j][i] = 1;
		} else {
		    array[j][i] = array[j-1][i-1] + array[j][i-1];
		}
        }
    }//帕斯卡三角形出現
    
    cout << "[";
    //開始列印帕斯卡三角形
    for(i = 0; i < n; i++){
    	  cout << "[";
    	  
        for(j = 0; j <= i ; j++){
	      cout << array[j][i];
	      if(j == i){
		    break;
		} else {
		    cout << ", ";
		}
	  }
	  
	  cout << "]";
	  
	  if(i == n-1){
	      break;
	  } else {
	      cout << ", ";
      }
    }
    cout << "]";
    
    return 0;
} 
```
#### 題目二
```cpp=
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

const std::string WHITESPACE = " \n\r\t\f\v";

std::string ltrim(const std::string &s){
  size_t start = s.find_first_not_of(WHITESPACE);
  return (start == std::string::npos) ? "" : s.substr(start);
}
 
std::string rtrim(const std::string &s){
  size_t end = s.find_last_not_of(WHITESPACE);
  return (end == std::string::npos) ? "" : s.substr(0, end + 1);
}
 
std::string trim(const std::string &s){
  return rtrim(ltrim(s));
}

int main(){
  string text;
  string delimiter = ",";
  string nums[256];

  getline(cin, text); //比cin還強，可將空格一起輸進來

  int count = 0;
  string num;
  size_t pos = 0;

  while ((pos = text.find(delimiter)) != string::npos){
    num = text.substr(0, pos);
    nums[count++] = trim(num);
    text.erase(0, pos + delimiter.length());
  }

  nums[count] = trim(text);

  cout << "[";
  
  for(int i = count; i >=0; i--){
    cout << nums[i];
    if (i != 0){
      cout << ", ";
    } 
  }
  
  cout << "]";
  
  return 0;
}
```
#### 題目三
```cpp=
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

const std::string WHITESPACE = " \n\r\t\f\v";

std::string ltrim(const std::string &s){
    size_t start = s.find_first_not_of(WHITESPACE);
    return (start == std::string::npos) ? "" : s.substr(start);
}
 
std::string rtrim(const std::string &s){
    size_t end = s.find_last_not_of(WHITESPACE);
    return (end == std::string::npos) ? "" : s.substr(0, end + 1);
}
 
std::string trim(const std::string &s){
    return rtrim(ltrim(s));
}

int main(){
    string text;
    string delimiter = ",";
    string nums[256];
    
    getline(cin, text);

    int count = 0;
    int zeronum = 0;
    string num;
    size_t pos = 0;
    string zero[256];
  
    while ((pos = text.find(delimiter)) != string::npos){
        num = text.substr(0, pos);
        if(num == "0"){
            zero[zeronum++] = trim(num);
        } else {
	      nums[count++] = trim(num);
	  }
        text.erase(0, pos + delimiter.length() + 1);
    }

    nums[count] = trim(text);
  
    cout << "[";
    for(int i = 0; i <= count; i++){
        cout << nums[i];
          
        if(i == count && zeronum == 0){
	      break;
	  } else {
	      cout << ", ";
 	  }
    }
    if(zeronum != 0){
        for(int x = 0; x < zeronum; x++){
            cout << zero[x];
        if(x != zeronum-1){
  		cout << ", ";
	  }
        }
      }
    cout << "]";
    
    return 0;
}
```

