到目前为止我的代码
#include <stdio.h>
main()
{
FILE *myFile;
myFile = fopen("newindex.dat.txt", "r");
float n1[12];
float n2[12];
float n3[12];
float p[36];
int i;
for (i = 0; i < 12; i++)
{
fscanf(myFile, "%f %f %f", &n1[i], &n2[i], &n3[i]);
}
}
0.0 0.0 1.20
1.0 0.0 1.20
2.0 0.0 1.20
3.0 0.0 1.20
0.0 1.0 1.40
1.0 1.0 1.40
2.0 1.0 1.42
3.0 1.0 1.48
0.0 2.0 1.50
1.0 2.0 1.50
2.0 2.0 1.52
3.0 2.0 1.54
我需要复制第三列元素三次,就像这样。
1.20
1.20
1.20
...
...
1.54
1.54
1.54
怎么做?
答案 0 :(得分:1)
因为,问题似乎并不十分清楚,我假设您希望n3数组在p []数组中,并且它将重复三次。 您可以通过编辑for循环轻松完成此操作:
(defun flyspell-ignore-comments ()
"Used for 'flyspell-generic-check-word-predicate' to ignore comments."
(not (string-match "^ *#" (thing-at-point 'line t))))
(put 'git-commit-mode 'flyspell-mode-predicate 'flyspell-ignore-comments)
如果我对你的问题的解释是错误的,你可能会想到如何做到这一点,即p [i],p [i + number_of_elements],p [i = 2 * number_of_elements]将保持不变。
答案 1 :(得分:1)
如果你想将第三列的每个元素放在数组p中复制3次,你可以这样做:
for (i = 0, k = 0; i < 12; i++)
{
fscanf(myFile, "%f %f %f", &n1[i], &n2[i], &n3[i]);
p[k++] = n3[i];
p[k++] = n3[i];
p[k++] = n3[i];
}