簡體   English   中英

輸入關系數組

[英]Inputting a relationship array

我試圖輸入一個表示關系的二進制數組。 例如,數組:

001
000
100

將輸出(0,2),(2,0)

為此,我嘗試一次從輸入中抓取一個字符,然后根據遇到換行符來更改計數器。

到目前為止,這是我的代碼。

char inChar;
int x = 0;
int y = 0;
while (inChar = ins.get() != '$') { 
        //$ is used to terminate input
        vector <int> orderedPair;
        if(inChar == '\n') {
            y++;
            x=0;
        } else {
            x++;
        }
        cout << inChar;
        int isPair = inChar - '0';
        if(isPair == 1){
            orderedPair.push_back(x);
            orderedPair.push_back(y);
            pointsList.push_back(orderedPair);
            orderedPair.clear();
        }

}

但是,該提示線僅輸出...笑臉? 無論我輸入什么,我都會得到笑臉。 我在這里迷路了。 我一直在尋找任何意外分配,並且我認為這可能與我的類型轉換有關,但是后來。

inChar = ins.get() != '$'表示inChar = (ins.get() != '$') ,讀取的字符是否等於'$'將存儲在inChar而不是字符本身。 您可以使用(inChar = ins.get()) != '$'保存輸入,並檢查輸入是否為'$'

還要注意, orderedPair將在每次迭代時清除,因為它被聲明為塊的局部變量,因此您不需要orderedPair.clear();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM