Tom's Guide > Forum > Programmation > comparaison de 2 entier dans un fichier avec c

comparaison de 2 entier dans un fichier avec c

Forum Programmation : comparaison de 2 entier dans un fichier avec c

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

salut
voici un code :mais le pb que j'ai un fichier de 35940 lignes et dans chaque ligne j'ai 2 chiffres séparé par un virgule et ce code peut lire au maximum 6300 lignes
je veus une solution

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define CMAX 17 //nb colonne
#define LMAX 6300 //nb ligne
#define MAX_CHAR_PER_LINE 1650 //nb caractere par ligne (pas de probleme)
#define SEP "," //separateur entre les chifre
#define FICH "sortieF.txt" //fichier ou se trouve mes donnes


int main(int argc, char* argv[])
{
FILE *m_File, *p;
int i = 0;
int j;
float Tab[LMAX][CMAX];
char szbuff[MAX_CHAR_PER_LINE];
char* token;



// On initialise le tableau a -1
for(i=0;i<LMAX;i++)
{
for(j=0;j<CMAX;j++)
{
Tab[i][j] = -1;
}
}

// On réinitialise le compteur de ligne car i;a été incrémenté lors de l'iniatialisation
i = 0;

// On ouvre le fichier en lecture seule et en mode texte
m_File = fopen(FICH,"rt" );
//un autre fichier pour stoker le resulat
p=fopen("stockTab.txt","w" );

if(!m_File) return 1;

// On lit le fichier ligne a ligne et on stocke les valeurs dans un tableau d'entier
while(!feof(m_File) && i < LMAX)
{

j = 0;

// On récupere la ligne courante du fichier
fgets(szbuff,MAX_CHAR_PER_LINE,m_File);

// On decoupe la ligne selon le charactere de séparation SEP (" " )
// strtok() -> decoupage de chaine de caracteres
token = strtok(szbuff,SEP);

// On lit les éléments découpés un à un et on les stocke dans le tableau Tab
while(token != NULL && j < CMAX)
{
// On stocke la valeur lue dans le tableau
Tab[i][j] = atof(token);
// On lit l'element suivant retourner par strtok
token = strtok(NULL,SEP);
// On incremente le compteur des ordonnées
j++;
}

// On incrémente le compteur des abscisses
i++;
}


// On stoke le tableau dans un fichier

float n=0;
for(int x=0;x<i;x++)
{
for(int y=0;y<j;y++)
{
n=Tab[x][0]-Tab[x][1];
fprintf(p,"%0.6f\t",Tab[x][y]);
}

fprintf(p,"la difference est : %0.6f ",n);
fprintf(p,"\n" );
}
fclose(p);
return 0;

}

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

salut,
au lieu de stocker toutes le valeurs dans un tableau, tu peux directement ecrire le resultat dans un fichier
sinon, qu'est ce qui t'empeche d'augmenter le nombre de ligne à 35940?
et enfin, la limite j de la partie qui ecrit le résultat correspond au nombre de colonne à la derniere ligne...

Répondre à coca25
Tom's Guide > Forum > Programmation > comparaison de 2 entier dans un fichier avec c
Aller à :

Il y a 2830 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens