c语言设计线性函数,C语言线性规划

用c语言程序写一个函数,求线性代数方程组AX=b,要有通用性。非常感谢帮忙。

高斯-赛德尔迭代法

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网站空间、营销软件、网站建设、思明网站维护、网站推广。

#include stdio.h

#include conio.h

#include alloc.h

#include math.h

#define N 100

float *GauseSeidel(float *a,int n)

{

int i,j,nu=0;

float *x,dx;

x=(float *)malloc(n*sizeof(float));

for(i=0;i =n-1;i++)

x[i]=0.0;

do

{

for(i=0;i =n-1;i++)

{

float d=0.0;

for(j=0;j =n-1;j++)

d+=*(a+i*(n+1)+j)*x[j];

dx=(*(a+i*(n+1)+n)-d)/(*(a+i*(n+1)+i));

x[i]+=dx;

}

if(nu =N)

{

printf( "迭代发散\n ");

exit(1);

}

nu++;

}

while(fabs(dx) 1e-6);

return x;

}

main()

{

int i;

float *x;

float c[12]={5,2,1,8,2,8,-3,21,1,-3,-6,1};

float *GauseSeidel(float *,int);

x=GauseSeidel(c,3);

clrscr();

for(i=0;i =2;i++)

printf( "x[%d]=%f\n ",i,x[i]);

getch();

}

c语言如何定义一个线性函数y=kx+b的系数k,b,从键盘读取这两个系数,并读取任意?

float k,b,x,y;

printf("请输入k,b:");

scanf("%f%f",k,b);

printf("请输入x:");

scanf("%f",x);

y=k*x十b;

printf("y=%f\n",y);

如何用C语言写一个函数输出线性表中指定范围的数字

#include stdio.h

int main(void)

{

int data[] = {2,5,15,30,1,40,17,50,9,21,32,8,41,22,49,31,33,18,50,5} ;

int newdata[30];

int i,j=0;

for(i = 0;i sizeof(data);i++)

{

if(data[i]=10data[i]=30)

{

continue;

}

else

{

newdata[j] = data[i];

j++;

}

}

for (i = 0;i  j; i++)

{

printf("%d",newdata[i]);

}

getchar();

return 0;

}

这个代码里面的 data[]后面赋值你就输入你的线性表 的数,代码会自己查找并删除。

data[i]=10data[i]=30

这句话就是范围意思是  大于10小于30的数,删除后的数组会存在newdata数组里面

请采纳!

c语言简单程序,有一段线性表插入的函数,请高手详细解析,十分感谢

这是数据结构中标准的线性表插入程序,但是它不是真正的c语言,而是类c哦。

status Insertlist(Sqlist L,int i,Elemtype e){

Elemtype *p; //在这里定义了一个*p的指针,目的是找到链表中每个结点的首地址就可以了,不用找一个结点的所用地址啊

int j;

if(L.length==L.listsize) //L.listsize是代表的表的上限值,是事先设定好的

printf("内存分配空间已不够,请重新分配:\n");

p=L.elem;//这条语句应该写在下一条语句的后面,也就是分配后的地址给到临时指针变量p中

L.elem=(Elemtype *)realloc(p,(LISTSIZE+L.listsize)*sizeof(Elemtype));

//这条语句是想一下子分配足够大的线性表空间,realloc在C中不认可的,实现时还要用malloc,这里只是设计实现的,而分配成功后L.elem只是得到分配单元的首地址,不成功则是空值。

if(!p){

printf("分配空间失败");

exit(0);

}

L.elem=p;//这条语句应该没用吧

L.length++;//这条语句应该放在成功插入的后面,也就是return 1;语句之前才对

L.listsize=L.listsize+LISTSIZE_INCE;

if(i1||iL.length){ //这里用到的是运算符||,代表是“或”,也就是说i1代表输入时误操作造成,而iL.length代表输入的位置超出表中数据的个数,位置找不到。

printf("插入位置输入不正确,请重新操作:\n");

return 0;//代表插入失败

}

else{

for(j=L.length-1;j=i;j--)//从i到最后表尾顺次下移,腾出i的位置

L.elem[j+1]=L.elem[j];

L.elem[i]=e;//将数据插入到i的位置中

return 1;//代表插入成功

}

return 1;

}

在vc++6.0下使用c语言编写创建线性表函数,错误很多,具体如下。 求高手指导!

#include stdio.h

#include stdlib.h // malloc

#define Max 100

typedef struct

{

int data[Max];

int len;

}Sqlist;

int cSqlist(Sqlist **L,int a[],int n)

{

int i=0;

*L=(Sqlist *)malloc(sizeof(Sqlist));

for(i=0;in;i++)

{

(*L)-data[i]=a[i];

}

(*L)-len=n;

return 1;

}

void display(Sqlist L)

{

int i;

for(i=0;L.leni;i++)

{

printf("%d - ",L.data[i]);

}

}

void main()

{

Sqlist *L; // Sqlist L; 这一句已经申请了空间,所以改成指针,在 cSqlist()里面申请空间

int a[5]={1,2,3,4,5};

int n=5;

cSqlist(L,a,n);//传入L的地址才能改变L的值

display(*L); //

}

C语言 线性表的实现

typedef int datatype;

#define maxsize 1024

typedef struct

{ ElemType data[MaxSize];

int length;

}SqList;

void InitList(SqList L)

{ L.length=0;

}

int GetLength(SqList L)

{return L.length;

}

int GetElem(SqList L,int i,ElemType e)

{ if (i1||iL.length)

return 0;

else

{ e=L.data[i-1];

return 1;

}

}

int Locate(SqList L,ElemType x)

{int i=0;

while (L.data[i]!=x)

i++;

if (iL.length)

return (0);

else

return(i+1);

}

int InsElem(SqList L,ElemType x,int i)

{ int j;

if(i1||iL.length+1)

return 0;

for(j=L.length;ji;j--)

L.data[j]=L.data[j-1];

L.data[i-1]=x;

L.length++;

return 1;

}

int DelElem(SqList L,int i)

{ int j;

if(i1||iL.length)

return 0;

for(j=i;jL.length;j++)

L.data[j-1]=L.data[j];

L.length--;

return 1;

}void DispList(SqList L)

{ int i;

for(i=1;i=L.length;i++)

printf("%c",L.data[i-1]);

printf("\n");

}

void main()

{ int i;

ElemType e;

SqList L;

InitList(L);

InsElem(L,'a',1);

InsElem(L,'c',2);

InsElem(L,'a',3);

InsElem(L,'e',4);

InsElem(L,'d',5);

InsElem(L,'b',6);

printf("xian xing biao:");DispList(L);

printf("chang du:%d\n",GetLength(L));

i=3;GetElem(L,i,e);

printf("di %d ge yuan su :%c\n",i,e);

e='a';

printf("yuan su %c shi di %d ge yuan su\n",e,Locate(L,e));

i=4;printf("shan chu di %d ge yuan su\n",i);

DelElem(L,i);

printf("xian xing biao:");DispList(L);

}


网站标题:c语言设计线性函数,C语言线性规划
当前路径:http://myzitong.com/article/heegph.html