programmes en c ?

je fais ce sujet afin de savoir si la nspire permet à l'aide de ndless d'executer des programmes en C qui sont écrit juste avec du C et non pas avec les commandes d'ASM , un peu comme celui là :
- Code: Select all
#include math.h
#define NMAX 5
#define ITERMAX 21
double al_norme_vect(double x[NMAX],int n)
{
double t;
int i;
t=0;
for(i=1;i=n;i++)
t += x[i]*x[i];
t=sqrt(t);
return(t);
}
void sl_gauss_seidel(double a[NMAX][NMAX],double b[NMAX],double x1[NMAX],
int n,int iter,double eps,double t[NMAX][ITERMAX])
{
int i,j,k;
double alfa,d,s;
for(i=1;i=n;i++)
for(j=1;j=ITERMAX-1;j++)
t[i][j]=0.0;
alfa=1.0;
k=1;
while(k=iter alfaeps)
{
alfa=0.0;
for(i=1;i=n;i++)
{
d=x1[i];
s=b[i];
for(j=1;j=n;j++)
if(i!=j)
s -= a[i][j]*x1[j];
x1[i]=s/a[i][i];
d-=x1[i];
alfa+=d*d;
}
for(i=1;i=n;i++)
{
for(j=1;j=ITERMAX-2;j++)
t[i][j]=t[i][j+1];
t[i][ITERMAX-1]=x1[i];
}
k++;
}
}
main()
{
double eps;
double x[NMAX],b[NMAX],sol[NMAX];
double a[NMAX][NMAX];
double t[NMAX][ITERMAX];
int i,j,n;
printf("Méthode de Gauss-Seideln");
printf(" A bn");
eps=1e-18;
n=4;
a[1][1]=-16;a[1][2]=6;a[1][3]=-2;a[1][4]=-5;b[1]=-19;
a[2][1]=3;a[2][2]=10;a[2][3]=-5;a[2][4]=1;b[2]=1;
a[3][1]=-4;a[3][2]=1;a[3][3]=18;a[3][4]=2;b[3]=12;
a[4][1]=1;a[4][2]=2;a[4][3]=2;a[4][4]=-14;b[4]=1;
sol[1]=53141.0/48309.0;sol[2]=9424.0/48309.0;
sol[3]=14209.0/16103.0;sol[4]=7781.0/48309.0;
for(i=1;i=n;i++)
{
for(j=1;j=n;j++)
printf("%12.5e ",a[i][j]);
printf(" I %12.5en",b[i]);
x[i]=0;
}
printf("Solution exacte :n");
for(i=1;i=n;i++)
printf("%22.15en",sol[i]);
printf("Itérations :n");
sl_gauss_seidel(a,b,x,n,ITERMAX-1,eps,t);
for(j=1;j=ITERMAX-1;j++)
{
printf("x(%2d)= (",j);
for(i=1;i=n;i++)
{
x[i]=t[i][j]-sol[i];
printf("%12.5e ",t[i][j]);
}
printf(") err= %.2en",al_norme_vect(x,n));
}
printf("Dernier itéré :n");
for(i=1;i=n;i++)
printf("%22.15en",t[i][ITERMAX-1]);
}