Bonjour à tous

Comme indiqué dans le titre, je souhaite réaliser un programme en langage C capable d'ouvrir un fichier texte dont le nom est saisis au clavier par l'utilisateur, de récupérer des valeurs et de les placer dans 4 tableaux différents. Jusque là j'ai réussi sans trop trop de soucis.

En revanche, une fois que mes données sont stockées dans mes tableaux, je souhaite effectuer quelques opérations avec. En effet, je désire déterminer les valeurs max pour chaque tableaux et effectuer un calcul pour déterminer une valeur RMS. Le calcul n'est pas bien compliqué, la formule étant : RMS = racine(somme des termes d'une suite au carré)/nombre de termes.
Le vrai soucis que j'ai à ce stade c'est que je souhaite réaliser ces traitements non pas d'un bloc, mais partie par partie. Je voudrais que mon programme me détermine la valeur max de mes tableau toutes les 3 lignes et qu'il me calcul ma valeur RMS tous les 3 termes (toutes les 3 lignes donc) de mes tableaux.

J'arrive par la suite à écrire ces valeurs max et RMS dans deux fichiers .txt bien distincts, mais les valeurs qu'il me donne ne collent pas du tout. Je lui demande pour le moment de m'effectuer ces opérations pour les 3 premières lignes seulement.
Si quelqun a une idée pouvant m'aider à traiter les données de mes tableaux toutes les 3 lignes, ça m'aiderait vraiment beacoup

Le programme que j'ai, pour le moment, réalisé étant le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
93
94
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <math.h>
 
int main(int argc, char *argv[])
{
    FILE* fichier1 = NULL;
    FILE* fichier2 = NULL;
    FILE* fichier3 = NULL;     
    char nom_fichier[100]; 
    float temps[5000], voie1[5000], voie2[5000], voie3[5000], max1[5000], max2[5000], max3[5000], rms1[5000], rms2[5000], rms3[5000];    
    float MAX1 = 0, MAX2 = 0, MAX3 = 0, somme1 = 0, somme2 = 0, somme3 = 0; 
    double RMS1 = 0, RMS2 = 0, RMS3 = 0;
    int i = 0;   
 
    printf("Saisir le nom du fichier a ouvrir\n\n");
    scanf("%s",nom_fichier); 
 
    fichier1 = fopen(nom_fichier, "r");      
    if (fichier1 == NULL) 
    {
                 printf("Erreur lors de l'ouverture du fichier\n");
    }
    else 
    {         
        while (fscanf(fichier1, "%f %f %f %f", &temps[i], &voie1[i], &voie2[i], &voie3[i]) != EOF) 
        {       
            printf("%f %f %f %f\n", temps[i], voie1[i], voie2[i], voie3[i]);      
        }    
 
            for (i = 0; i < 2; i++)
            {
             if(voie1[i] > MAX1)                  
             MAX1 = voie1[i];             
 
             if(voie2[i] > MAX2)             
             MAX2 = voie2[i];             
 
             if(voie3[i] > MAX3)             
             MAX3 = voie3[i];                      
            }   
 
    max1[i] = MAX1;
    max2[i] = MAX2;
    max3[i] = MAX3;                    
 
    fichier2 = fopen("max.txt", "a+");  
    if (fichier2 != NULL)
    {       
 
            for (i = 0; i < 2; i++)
            {   
                fprintf(fichier2,"%f %f %f\n", max1[i], max2[i], max3[i]);       
                fclose(fichier2); 
            }
    }     
 
      for(i = 0; i < 2; i++)
        {      
                somme1 = somme1 + (voie1[i]*voie1[i]);
                somme2 = somme2 + (voie2[i]*voie2[i]);
                somme3 = somme3 + (voie3[i]*voie3[i]);              
        }
 
      RMS1 = (sqrt(somme1)/3);
      RMS2 = (sqrt(somme2)/3);
      RMS3 = (sqrt(somme3)/3); 
 
      rms1[i] = RMS1;
      rms2[i] = RMS2;
      rms3[i] = RMS3;      
 
      somme1 = 0;
      somme2 = 0;
      somme3 = 0;
 
    fichier3 = fopen("rms.txt", "a+"); 
    if (fichier3 != NULL)
    {        
             for (i = 0; i < 2; i++)
             {     
             fprintf(fichier3,"%f %f %f\n", rms1[i], rms2[i], rms3[i]);       
             fclose(fichier3); 
             }
    }
 
    fclose(fichier1); 
    }
 
    system("PAUSE");
    return 0;
 
}
Merci d'avance!