gpt4 book ai didi

c - 在 hermite 中倾倒的分段故障核心

转载 作者:太空宇宙 更新时间:2023-11-04 07:13:26 27 4
gpt4 key购买 nike

#include<stdio.h>

int main()
{
int n, i, j;
float x[10] = { 0 }, fx[10] = { 0 }, f1x[10] = { 0 }, z[20] = { 0 }, q[20][20] = { 0 };

printf("Enter the number of initial values\n");

scanf("%d", &n);

printf("Enter the x values\n");

for (i = 0; i < n; i++);

scanf("%f", &x[i]);

printf("Enter the fx values\n");

for (i = 0; i < n; i++);

scanf("%f", &fx[i]);

printf("Enter the f1x values\n");

for (i = 0; i < n; i++);

scanf("%f", &f1x[i]);

for (i = 0; i < n; i++)
{
z[2 * i] = x[i];

z[(2 * i) + 1] = x[i];

q[2 * i][0] = fx[i];

q[(2 * i) + 1][0] = fx[i];

q[(2 * i) + 1][1] = f1x[i];

if (i != 0)
{
q[2 * i][1] = (q[2 * i][0] - q[(2 * i) - 1][0]) / (z[2 * i] - z[(2 * i) - 1]);
}
}
for (i = 2; i < (2 * n) + 1; i++)
{
for (j = 2; j < i; i++)
{
q[i][j] = (q[i][j - 1] - q[i - 1][j - 1]) / (z[i] - z[i - j]);
}
}
printf("\nthe resultant matrix is\n");
for (i = 0; i < (2 * n) + 2; i++)
printf(" %f ", q[i][i]);
}

当我运行程序并获取初始值的数量(比如 3)然后它要求 1 x 然后要求 fx 和 f1x 并给出段错误.

最佳答案

你在内部循环中有一个错误的增量值:

for (i = 2; i<(2 * n) + 1; i++)
{
for (j = 2; j<i; i++) <- this should be j

从而访问超出范围的内存。

关于c - 在 hermite 中倾倒的分段故障核心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26631687/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com