題目描述
開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的**所在的檔名稱和行號。
處理:1、 記錄最多8條錯誤記錄,迴圈記錄,對相同的錯誤記錄(淨檔名稱和行號完全匹配)只記錄一條,錯誤計數增加;
2、 超過16個字元的檔名稱,只記錄檔案的最後有效16個字元;
3、 輸入的檔案可能帶路徑,記錄檔名稱不能帶路徑。
輸入描述:
一行或多行字串。每行包括帶路徑檔名稱,行號,以空格隔開。
輸出描述:
將所有的記錄統計並將結果輸出,格式:檔名 **行數 數目,乙個空格隔開
示例
輸入解題思路e:\v1r2\product\fpgadrive.c 1325
輸出fpgadrive.c 1325 1
我的思路是從輸入的檔案路徑中提取出檔名,再將它和錯誤行及空格三部分組成字串,用map完成計數儲存。
**沒錯誤,但是思路與牛客網的要求不太一致,導致**沒法通過!!
通過**執行得到測試用例,我猜想我的錯誤主要在輸出部分。
牛客網上的要求是希望所有錯誤都能輸入並記錄,但只輸出最後輸入的8個錯誤。而我的**會在輸入第九個用例的時候直接退出並輸出前8個錯誤,而且我忘記map會對key值進行排序,,,然後我就去改了**,最後的最後我還是沒有改好。。。
如果有看出解決辦法的大佬麻煩指點我一下,我真的很需要幫助~
完整**
#include #include #include #include using namespace std;
string itos(int n) //整型轉字串
reverse(s.begin(), s.end());
return s;
}string getfile(string s, int n) //獲取檔名,同時將行數放在字串中
int main()
} for (auto &e : m) //輸出map中資料
cout << e.first << " " << e.second << " ";
system("pause");
return 0;
}
簡單錯誤記錄
使用了部落格的 設計思路。這裡主要記錄一下在處理這一題時自己理解錯的地方 1 需要從輸入的日誌資訊中提取檔名和行號。如果這樣想這個問題,那麼需要分割字串分別獲取檔名和行號。其實可以利用格式化輸入分別獲取檔名字串和行號整數值。2 輸入一條日誌,顯示一次更新的日誌資訊。理解為時迴圈輸入日誌資訊,然後將日...
簡單錯誤記錄
開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1.記錄最多8條錯誤記錄,對相同的錯誤記錄 即檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 檔案所在的目錄不同,檔名和行號相同也要合併 2.超過16個字元的檔名稱,只記錄檔案的最後有效16個字元 如果檔名不同,而只是檔名的後...
簡單的錯誤記錄
開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1.記錄最多8條錯誤記錄,對相同的錯誤記錄 即檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 檔案所在的目錄不同,檔名和行號相同也要合併 2.超過16個字元的檔名稱,只記錄檔案的最後有效16個字元 如果檔名不同,而只是檔名的後...