0

我的数据必须使用管道输入的文本文件输入——这是在我的大学服务器上运行的。

我有两个双精度数,一个一维双精度数组和一个二维双精度矩阵。如何将其导入变量?

非常感谢!

4

1 回答 1

0

好吧,您需要想出一些程序可以识别并编写提取的格式。如果只是为了一个程序,可以对数组进行编码,例如:

<num> <num>  # list of dimensions
<num> <num> <num> ...  # array values in the row major order

然后在您的程序中执行以下操作:

size_t m, n;
fscanf (f, "%zu %zu", &m, &n);
float (*array)[m][n] = malloc (sizeof (float) * m * n));
for (size_t i = 0; i < m; i++)
  for (size_t j = 0; j < n; j++)
    fscanf (f, "%f", &(*array)[i][j]);

这有点难看,因为您需要动态分配多维数组并使用括号引用它,但是这样做可以避免索引计算,否则您需要手动实现。

于 2013-11-01T17:39:26.177 回答