用于数组的循环线

时间:2012-12-28 11:41:46

标签: c++ for-loop

int lineInputs = 0;

cin >> lineInputs;

int whatever = 0;

char* myArray = new char[arrayElements*lineInputs];

int j =0;

for(int i = 0; i < lineInputs; i++)
{
        cin >> whatever;
    for(j; j<total; j+=39)
    {
        for(int nom=0; j<arrayElements; nom++)
        {
            cin >> myArray[j];
        }
    }

}

在我的forloop中说我有lineInputs = 4total = 156

含义4次我们这样做,我们想在我的数组中插入156个字符。但是我们想要让每40个字符继续进入数组。

实际上,我们需要将此输入插入到数组中,但我觉得我的forloops搞砸了。 这将是输入

4 
1 
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 
2 
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT 
3 
HHTTTHHTTTHTHHTHHTTHTTTHHHTHTTHTTHTTTHTH 
4 
HTHTHHHTHHHTHTHHHHTTTHTTTTTHHTTTTHTHHHHT

第一行4表示这40个字符行中的4个。并且字符行上方的数字仅表示第1 2 3 4行等。

我怎样才能做到这一点?

所以数组基本上就是这样。

HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTHHTTTHHTTTHTHHTHHTTHTTTHHHTHTTHTTHTTTHTHHTHTHHHTHHHTHTHHHHTTTHTTTTTHHTTTTHTHHHHT

1 个答案:

答案 0 :(得分:1)

你在你的另一个问题上犯了同样的根本错误,就是没有正确对待输入数组。您反复阅读myArray的前40个字符。您需要做的是将第一行读入前40个字符,将第二行读入字符40到79等。

更好的是,使它成为一个二维数组,这样你就不必费力计算索引了。

更好的是,将其设为std::string的数组,而不是char的数组。