看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 新手上路 USACO training, Fritday the Thirteenth 已知1900/1/1是星期一 讀取文字檔friday.in,裡面只有一個數字N 該數字代表從1900起算N年,每月13號總計有幾個星期一、星期二..... 例如N=1, 列出1900年該年每個月13號共有幾個星期一,幾個星期二.... 我目前的做法是硬幹 先fin讀取文字檔的數字 存到宣告的int變數 N 接著宣告一個[500][12]陣列 用for迴圈填寫這個陣列,紀錄該月的13號是從1900/1/1起算的第幾天 問題出在這個迴圈 跑到一半的時候會把N給改掉 造成這個for迴圈跑不完 估計是跟#19jvO3tH這篇文章有關,但不知道該怎麼解決 是跟指標有關嗎?? 程式碼(Code):(請善用置底文網頁, 記得排版) (閏年的計算還沒有弄進去,就先卡在這階段了) ifstream fin ("friday.in"); int Days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int N; fin >> N; int ProcessArray[400][12] = {0}; for (int i = 0; i<N; i++) { for (int j = 0; j<12; j++) { ProcessArray[i][j+1] = ProcessArray[i][j]+ Days[j]; . . . . . . } } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 76.184.200.19 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1443751233.A.169.html
sos0214: j+1=12會有問題 10/02 10:55