gpt4 book ai didi

c - 从函数返回矩阵

转载 作者:行者123 更新时间:2023-11-30 16:53:14 26 4
gpt4 key购买 nike

如何从函数返回矩阵?我正在制作一个程序,不断将矩阵发送到函数,并且还需要不断从函数返回矩阵,我有点知道如何将矩阵发送到函数(使用双指针),但每次我尝试调用它说它是不兼容类型的函数。这是我使用的函数的示例:

float *filtrar(float val, int col, float **M)
{
int i=0,j,k=0;
float temp[4][6],linea[6];
if (existe(val, col, M)>0)
{
for (i=0; i<tam; i++)
{
if (linea[col]==val)
{
for (j= 0; j <6; j++)
temp[k][j]=M[i][j];
k++;
}
}
}
}
else
{
for (i=0; i<tam; i++)
{
if (linea[col]==inferior(val,col,M)||linea[col]==superior(val,col,M))
{
for (j= 0; j < 6; j++)
{
temp[k][j]=M[i][j];
k++;
}
}
}
}
}

这是调用该函数的部分:

float **m=filtrar(v1,t1,agua_vapor);

最后一部分是我需要你帮助的部分,因为我不知道如何将从函数获得的矩阵赋予 asigne 给变量 m,我不知道它是否应该作为一个 pointe,a双指针、公共(public)矩阵等

如果有人能告诉我如何做,我将不胜感激。

这是我如何声明要使用的矩阵的示例,与上一个函数显示的矩阵非常相似,以防有人想知道我是如何做到的:

float *carga_archivo(char nombre_de_archivo)
{
float M[200][6];
float *p[6], **q;
int i=0;
FILE *archivo;
archivo=fopen(nombre_de_archivo,"r");
while(!feof(archivo))
{
fscanf(archivo,"%f\t%f\t%f\t%f\t%f\t%f\n",&M[0][i],&M[1][i],&M[2][i],&M[3][i],&M[4][i],&M[5][i],&M[6][i]);
i++;
}
tam=i;
for(i=0;i<6;i++)
p[i]=M[i];
q=p;
fclose (archivo);
return M;
}

欢迎以书面形式或提出此问题的方式进行任何更正。

最佳答案

如果你想返回一个矩阵,你需要将函数声明为矩阵类型,我的意思是:

float** filtrar(float val, int col, float **M)
{
/* stuff that filtrar do */
return M
}

关于c - 从函数返回矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40955183/

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