牛客網 簡單錯誤記錄

2021-09-25 10:00:21 字數 1198 閱讀 9462

題目描述

開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的**所在的檔名稱和行號。

處理: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個字元 如果檔名不同,而只是檔名的後...