[問題] 請幫我修改一下這個麻煩的sqrtˊˋ

看板C_and_CPP (C/C++)作者 (LiLo)時間16年前 (2009/10/21 15:51), 編輯推噓4(4020)
留言24則, 3人參與, 最新討論串1/1
程式碼在這裡 ↓ http://nopaste.info/4fd89abd59.html 上面是一個很簡單的gradebook 下面的函數是在算標準差 可是我的語法不知道哪裡錯了.... 請大家幫我看看給個建議好嘛 謝謝阿ˇ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.241.90

10/21 15:56, , 1F
問題很多, 你學到哪, 看起來陣列和函式都還不會用
10/21 15:56, 1F

10/21 15:57, , 2F
如果要改好, 建議先把書上基礎的部份完全弄懂
10/21 15:57, 2F

10/21 15:58, , 3F
好詭異, 我IE6和FF3.5都開不了那個連結XD
10/21 15:58, 3F

10/21 15:59, , 4F
喔, 當然開不了, 是 http://nopaste.info/4fd89abd59.html
10/21 15:59, 4F

10/21 15:59, , 5F
XD
10/21 15:59, 5F
※ 編輯: p221071889 來自: 140.138.241.90 (10/21 16:00)

10/21 16:03, , 6F
可以麻煩你跟我說錯了哪裡嗎..
10/21 16:03, 6F

10/21 16:04, , 7F
雖然我知道很難改ˊˋ
10/21 16:04, 7F

10/21 16:16, , 8F
l大內建自動校正URL的tools....XD
10/21 16:16, 8F

10/21 16:37, , 9F
1. array 從第 0 開始算, 如果宣告 a 格, 只能用 0 ~ a-1
10/21 16:37, 9F

10/21 16:38, , 10F
所以 arr 宣告是 int arr[10][3]; 的話, 就只能用 [0][0] 到
10/21 16:38, 10F

10/21 16:38, , 11F
[9][2], 用超過程式就可能會掛點, 迴圈中 cin >> arr[j][3];
10/21 16:38, 11F

10/21 16:39, , 12F
語義上看起來有兩個錯誤: A. 後面的輸入會蓋掉前面的, B.
10/21 16:39, 12F

10/21 16:40, , 13F
arr[j][3] 的 j 最多會到 10, 超過 0~9 的許可範圍, 3 也超
10/21 16:40, 13F

10/21 16:40, , 14F
過 0~2 的許可範圍, 所以是會出錯的
10/21 16:40, 14F

10/21 16:40, , 15F
2. 我不知道為什麼標準差要用三種函式, 而且取名為 sqrt 也
10/21 16:40, 15F

10/21 16:43, , 16F
很奇怪, 一般來說 sqrt 是開根號, 標準差會被稱為 sd
10/21 16:43, 16F

10/21 16:43, , 17F
3. 標準差應該要把 array 丟進去算, 然後輸入一個答案
10/21 16:43, 17F

10/21 16:44, , 18F
你的函式只吃一個 double, 本身就不太合理
10/21 16:44, 18F

10/21 16:45, , 19F
在 sqrt_1 的迴圈裡自己宣告 arr 也並不會用到原本那一份
10/21 16:45, 19F

10/21 16:45, , 20F
所以你需要把書上 "函數怎麼傳遞資料" 的那個章節看懂
10/21 16:45, 20F

10/21 16:46, , 21F
把正確的資料傳進去, 照公式算好再傳出來
10/21 16:46, 21F

10/21 16:47, , 22F
以上... 先改出個比較接近可以執行的程式, 再來討論會比較
10/21 16:47, 22F

10/21 16:47, , 23F
容易進步
10/21 16:47, 23F

10/21 16:48, , 24F
上面的 3. 那一行... "輸入" 應為 "輸出"
10/21 16:48, 24F
文章代碼(AID): #1AthrotK (C_and_CPP)
文章代碼(AID): #1AthrotK (C_and_CPP)