我需要知道,如何將stdin中的整數保存到數組中,由行中的第一個整數給出...... Ehm ...希望你明白。我會給你一個例子。將整數保存到第一個整數給出的數組中
標準輸入我:
0 : [ 1, 2, 3 ]
5 : [ 10, 11, 12, 13]
6 : [ 2, 4, 9 ]
0 : [ 4, 9, 8 ]
5 : [ 9, 6, 7 ]
5 : [ 1 ]
我需要這些整數保存這樣的數組:
0={1, 2, 3, 4, 9, 8}
5={10, 11, 12, 13, 9, 6, 7, 1}
6={2, 4, 9}
我絕對不如何做到這一點。有一個問題,數組的數量(在這種情況下 - 0,5,6 - 所以3個數組)可以非常高,我需要與內存有效地工作...所以我想我會需要像malloc
和free
解決這個問題,還是我錯了?數組的名稱(0,5,6)可以更改。括號中的整數數量沒有最大限制。
謝謝你的幫助。
是的,使用'malloc'。繼續嘗試。 – kaylum
至少嘗試一些東西,只要開始,然後上傳你的代碼,如果你有問題。 – Sniper
'fgets'來讀取每一行。然後用某種解析代碼來確定組號和項目。 'strtok'和'strtol'可以用於解析器,但是一個簡單的'for'循環可能是相同數量的代碼。對於內存管理,你需要'malloc'和'realloc'。後者是允許你的陣列增長的。最後,「免費」在最後。 – user3386109