【发布时间】:2017-03-06 09:23:37
【问题描述】:
我可以给我的程序输入文件,如下所示:
1 0 0 0 2 -1
16 70 -169 -580 75
1 0 4 0 -5
0 -9 3 5 -3
5 -4 3 -2 0
1.0 -3.4 5.4531 -4.2077 1.5092 -0.2030
每一行代表一个多项式。比如第一行代表x^6 + 2x^2 - 1
我正在尝试读取此文件,但不确定如何处理制表符和新行。我也不确定如何处理系数和多项式的数量可以改变的事实。
现在我有:
polynomial** readPolyFile(FILE *polyFile){
polynomial *p = NULL;
int size = 1; /* Size to malloc */
polynomial **polynomials = NULL;
polyList = malloc(sizeof(polynomial*) * size); /* Initialize */
if(polyList == NULL){
fprintf(stderr, "%s %n: Could not allocate memory\n", __FILE__, __LINE__);
exit(-99);
}
/* Read all of the data from the file */
do {
}
}
我最初的想法是每次需要时都增加大小,但我不确定这是否是解决此问题的最佳方法。
我对@987654325@的定义如下:
typedef struct
{
unsigned int nterms; /* number of terms */
double complex *polyCoef; /* coefficients */
} polynomial;
我想返回多项式结构的列表。有什么建议可以解决这个问题吗?
【问题讨论】:
-
你的多项式结构中的
complex是什么? -
@MarekKlein 我正在使用复数库pubs.opengroup.org/onlinepubs/009695399/basedefs/complex.h.html
-
@tibsar 注意:您的样本系数不包含任何
complex数字示例。