Bonjour tout le monde,
Je voudrais centré une lettre E en fonction de la position du pic de corrélation:
Mais il y a ,un problème dans la compilation que je le vois pas.
#include "math.h"
#include "conio.h"
#include "stdio.h"
#include "stdlib.h"
#include "alloc.h"
main()
{
long int n2,kk,k,ll,ii,jj,nn,coorx,coory;
int dim,i;
char arch0[30], arch1[30]
float huge *ct, huge *cr;
float vmax;
printf("\n\ dimension du fichier:");
scanf("%d",&dim);
n2 = (long)dim * (long)dim ;
ct = farcalloc(n2,4);
cr = farcalloc(n2,4);
if ( cr
NULL || ct NULL ) { printf ( "\n Memory error."); exit(0); }
printf("\n\n Introduire Cross-correlation matrice:");
scanf("%s",&arch0);
i=disco(arch0,dim,dim,1,cr,4);
if (i!=1) goto fin;
printf("\n\n Introduire la matrice a translat‚:");
scanf("%s",&arch1);
i=disco(arch1,dim,dim,1,ct,4);
if (i!=1) goto fin;
vmax=cr[0];
for (ii=0; ii < dim; ii++)
{
ll =(long)dim * (long)ii;
for (jj=0; jj < dim; jj++)
{
nn=ll+jj;
if( cr[nn] > vmax )
{
vmax = cr[nn];
coorx = ii;
coory = jj;
}
}
}
for ( kk=0 ; kk < n2 ; kk++)
{
cr[kk] = 0;
}
coorx = coorx - dim/2;
coory = coory - dim/2;
for (ii=abs(coorx); ii < dim-abs(coorx); ii++)
{
ll =(long)dim * (long)ii;
for (jj=abs(coory); jj < dim-abs(coory); jj++)
{
cr[(long)dim*(ii-coorx)+jj-coory]= ct[(long)dim * (long)ii+jj];
}
}
printf("\n\nIntroduire le nom de la matrice centr‚:");
scanf("%s",&arch1);
i=disco(arch1,dim,dim,2,cr,4);
if (i!=1) goto fin;
fin:
farfree(cr);
farfree(ct);
return(0);
}
Merci d'avance