1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
Parametres :
year et val les valeurs lues dans le fichier
result les valeurs interpolées toutes les annees
N : nombre de points dans le fichier
110 : maximum de points interpoles (1900 a 2010)
/*
OUVERTURE FICHIER PREMIERE SERIE
*/
sprintf ( Ligne, "./serie0" );
fich = fopen ( Ligne, "w" );
if ( fich == NULL )
{
fprintf ( stderr, " ERREUR ouverrture fchier %s",Ligne);
exit(1) ;
}
Ntot = Ntot + 1 ;
imin = 0 ;
imax = 0 ;
for ( i = 1 ; i < 110 ; i++ )
{
/*
ON REMONTE
*/
if ( result[i] > result[i-1] )
{
/*
DEBUT
*/
if ( remonte == 0 )
{
remonte = 1 ;
}
/*
CONTINUATION
*/
imax = i ;
}
else
{
/*
ICI C'EST LE PASSAGE NORMAL
*/
/*
DONC SI ON DESCEND ET QU'AVANT ON MONTAIT
*/
if ( remonte == 1 )
{
remonte = 0 ;
imax = i-1 ;
/*
OUVERTURE FICHIER SERIE SUIVANTE
*/
fclose(fich);
sprintf ( Ligne, "./serie%d", Ntot );
fich = fopen ( Ligne, "w" );
if ( fich == NULL )
{
fprintf ( stderr, " ERREUR ouverrture fchier %s",Ligne);
exit(1) ;
}
Ntot = Ntot + 1 ;
imin = i ;
imax = i ;
}
/*
SINON DESCENTE NORMALE
*/
else
imax = i ;
}
if ( (1900 + i) == (int)year[N-1] )
{
fprintf ( fich, "%d %g\n",(1900+i),val[N-1]);
break ;
}
else
fprintf ( fich, "%d %g\n",(1900+i),result[i]);
}
fclose(fich); |