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 = 4
和total = 156
含义4次我们这样做,我们想在我的数组中插入156个字符。但是我们想要让每40个字符继续进入数组。
实际上,我们需要将此输入插入到数组中,但我觉得我的forloops搞砸了。 这将是输入
4
1
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
2
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
3
HHTTTHHTTTHTHHTHHTTHTTTHHHTHTTHTTHTTTHTH
4
HTHTHHHTHHHTHTHHHHTTTHTTTTTHHTTTTHTHHHHT
第一行4表示这40个字符行中的4个。并且字符行上方的数字仅表示第1 2 3 4行等。
我怎样才能做到这一点?
所以数组基本上就是这样。
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTHHTTTHHTTTHTHHTHHTTHTTTHHHTHTTHTTHTTTHTHHTHTHHHTHHHTHTHHHHTTTHTTTTTHHTTTTHTHHHHT
答案 0 :(得分:1)
你在你的另一个问题上犯了同样的根本错误,就是没有正确对待输入数组。您反复阅读myArray
的前40个字符。您需要做的是将第一行读入前40个字符,将第二行读入字符40到79等。
更好的是,使它成为一个二维数组,这样你就不必费力计算索引了。
更好的是,将其设为std::string
的数组,而不是char
的数组。