cinで行の値、括弧でくくられた3つの値をそれぞれ入力してもらいその値を構造化されたvectorにpush_backしたいのですが、どのようにすればよいのかわかりません。
最終的にこのような配列を得たいです。
vector<building> b = { {1,11,5}, {2,6,7}, {3,13,9}, {12,7,16}, {14,3,25}, {19,18,22}, {23,13,29}, {24,4,28} };
例
4
(5,3,4)
(3,8,2)
(4,6,7)
(9,10,4)
c++
1struct Buildings{ 2 int left; 3 int ht; 4 int right; 5}; 6int main(){ 7 int n; 8 cin >> n; 9 vector<Buildings> bu = {};//このvectorに配列をpush_backしたい。 10 int arr[1000][3]; 11 char str[256]; 12 for(int i = 0; i < n; i++){ 13 int index = 0; 14 cin.getline(str,256); 15 cout << str << "\n"; 16 int len = strlen(str); 17 char *p; 18 p = strtok(str, "(),"); 19 while(p){ 20 arr[i][index] = stoi(p);//数字だけを抽出しいったん配列に入れる。 21 index++; 22 p = strtok(NULL, "(),"); 23 } 24 bu.push_back(arr[i]);//エラー 25 } 26 return 0; 27}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。