2
A
回答
4
此問題屬於解析的域。你會使用一個解析器。解析器解釋一種語言。在你的情況下,語言會看起來像這樣的事情:
input = comma-separated sequence of fragments
fragment = integer or range
range = integer-integer
integer = sequence of digits 0..9
1
//Disclaimer -- untested
//Disclaimer -- this is not good code, but it's a quick and dirty way to do this
// if you're trying to see a possible solution.
#include <algorithm>
#include <functional>
#include <vector>
const char input[] = "1,3-7,10,11-15";
const char * inputBegin = input;
const char * inputEnd = input + strlen(input);
std::vector<int> result;
for(; inputBegin < inputEnd; inputBegin = std::find_if(inputBegin, inputEnd, isdigit)) {
int first = *inputBegin - '0';
for(inputBegin++; inputBegin < inputEnd && isdigit(*inputBegin); inputBegin++)
first = first * 10 + (*inputBegin - '0');
int last = first;
if (++inputBegin < inputEnd && *inputBegin == '-') {
last = inputBegin - '0';
for(inputBegin++; inputBegin < inputEnd && isdigit(*inputBegin); inputBegin++)
last = last * 10 + (*inputBegin - '0');
}
for(; first < last; first++)
result.push_back(first);
}
相關問題
- 1. 將列表轉換爲整數列表
- 2. 如何將Python整數列表轉換爲列表列表?
- 3. 如何將一串數字轉換爲一個整數列表?
- 4. 如何將一系列整數轉換爲日期?
- 5. 如何使用ctypes將列表列表的Python列表轉換爲C數組?
- 6. 將Char列表轉換爲整數列表C#
- 7. 如何將字符串列表轉換爲整數列表?
- 8. 如何將字符串轉換爲整數列表的列表?
- 9. 如何將系列列表轉換爲列表?
- 10. 如何將整數列表轉換爲整數?
- 11. 如何將一系列位板轉換爲列表?
- 12. 如何使用計數將重複列表轉換爲列表?
- 13. 如何將包含單個整數的列表轉換爲整數列表?
- 14. 將整數列表轉換爲塊
- 15. 將整數轉換爲單詞列表
- 16. 將整數轉換爲列表?
- 17. 如何使用ctypes將Python列表轉換爲C數組?
- 18. 如何將一系列字符串從熊貓列轉換爲整數
- 19. 如何將一列列表轉換爲C#中的字典?
- 20. 如何使用JCodec將一系列圖像轉換爲視頻?
- 21. 如何將數據框列表轉換爲列表列表?
- 22. 將一串數字轉換爲一個整數列表。 Python
- 23. strToInt函數將字符列表轉換爲C中的整數
- 24. 將整數轉換爲組合框中的數字列表 - C#
- 25. 將數據表列轉換爲雙C#
- 26. 如何使用json.net將c#通用列表轉換爲json?
- 27. 將列表轉換爲一個列表
- 28. 如何將列表轉換爲數組?
- 29. 如何將表列轉換爲數組?
- 30. 如何將數組轉換爲列表
這是功課? – 2010-04-19 14:22:49
你到目前爲止嘗試過什麼?這是什麼讓你困惑?這是作業嗎?如果您提供更多信息,您會得到更多/更好的答案。 – rmeador 2010-04-19 14:23:19