Accueil > Forum > > > > aide traitement du fichier
aide traitement du fichier
vendredi 17 juillet 2009 à 14:43:52 |
aide traitement du fichier

boualiasma
|
J'ai un fichier qui se compose de deux champs :
- numero présenté par un entier
- attribut présenté par une chaine caractère.
On a la même taille pour le champ attribut dans toutes les lignes du fichier.
Par exemple, Soit le fichier nommé essai.txt:
1 110101
2 100101
3 110101
4 000101
5 000000
6 110101
7 110101
8 000000
9 010101
10 100101
Le travail demandé est:
- Supprimer des lignes du fichier essai.txt qui contiennent comme chaine caractère "000000"
Dans notre exemple, on doit supprimer les deux lignes suivantes:
5 000000
8 000000
-Supprimer des colonnes du la chaine attribut pour chaque ligne sachant que cette colonne est tout à 0 dans toutes les chaines du fichier.
Dans notre exemple, on remarque que la colonne 3 et 5 sont toutes à 0.
En conclusion, on obtient le résultat suivant qui présente un fichier (on peut travailler sur le même fichier ou autre)
après la suppression des lignes et des colonnes faite :
1 1111
2 1011
3 1111
4 0011
6 1111
7 1111
9 0111
10 1011
Je dois faire un programme C sous Windows permettant du supprimer des lignes et des colonnes comme décrit précédemment.
J'ai trouvé des difficultés à manipuler les positions du curseur dans un fichier de plus je ne sais pas si il y a des
fonctions prédéfinis dans C qui permettent du supprimer des lignes et des colonnes selon un critère.
- Après la suppression d'une ligne qui contient la chaine "000000", il reste une ligne vide.
Comment j'évite cette ligne vide ?
- Pour la suppression d'une colonne:
lorsque je trouve un 0 en position k dans la chaine de première ligne.
comment je vais déplacer en position k dans la chaine de celui de reste des lignes c-à-d ligne 2, 3 jusqu'à la dernière ligne ?
car on doit supprimer la colonne de la chaine qui est 0 dans toutes les chaines
Merci.
|
|
vendredi 17 juillet 2009 à 21:51:36 |
Re : aide traitement du fichier

TeniX
|
Slt, as tu déjà commencé quelque chose ?
Sinon peux stockés ton fichier dans un tableau ou autre pour pouvoir faire ton traitement et ensuite le réécrire.
Ciao
|
|
vendredi 17 juillet 2009 à 22:50:25 |
Re : aide traitement du fichier

MoH008
|
Salut,
Comme TeniX te l'a conseillé si ton fichier n'est pas trop lourd tu peux utiliser un tableau statique ou dynamique (au choix) pour pouvoir effectuer tes traitements. C'est ce que je pense est le plus adéquate dans ta situation.
The possible meet the impossible to become the possimpible !!
|
|
samedi 18 juillet 2009 à 08:13:40 |
Re : aide traitement du fichier

boualiasma
|
Salut,
J'ai un fichier de taille grande.
Il comporte des milliers des lignes.
Si j'utilise une structure des données en mémoire comme tableau ou matrice alors ceci va être couteux. De plus, je crois que la taille de matrice est limitée.
S'il vous plait, Avez-vous une proposition ?
|
|
samedi 18 juillet 2009 à 09:01:40 |
Re : aide traitement du fichier

boualiasma
|
Salut,
Je reformule ma demande.
J'ai un fichier texte bien formé contient deux champs: objet et attribut. Tous les objets sont des entiers et tous les attributs sont de chaines de caractères de même taille.
chaque ligne contient un objet et son attribut par exemple:
essai.txt:
10 1110001
20 1010100
30 0100101
37 0000000
40 1000101
50 0000000
80 1110001
100 1010001
1) je voudrais supprimer les lignes qui contiennent une chaine qui est toute à 0 par exemple dans notre on a "0000000"
Donc, on doit supprimer les lignes suivantes:
37 0000000
50 0000000
2) Je voudrais supprimer les 0 de même position dans chaque chaine de caractère. J'appelle ceci la suppression des colonnes.
Par exemple dans notre cas, nous allons supprimer les 0 dans la position 4 et 6 de chaque chaine car dans cette position nous avons toutes les chaines ont un 0 dans la position 4 et 6.
j'ai trouvé une difficulté de résoudre ce problème, de plus imaginez si nous avons un fichier volumineux (donc c'est couteux d'utiliser une autre structure en mémoire pour faire des traitements nécessaires).
Mon idée:
1) Pour la suppression des lignes: je parcoure ligne par ligne et je vérifie c'est la chaine de cette ligne est égale au "0000000" alors je supprime cette ligne.
Comment je vais supprimer cette ligne ? Et après la suppression, est ce qu'il reste une ligne vide(comme une entrée) ? Si oui, comment je éviter cette ligne vide
2) Pour la suppression des colonnes: Je parcoure seulement la première ligne de fichier. Pour tout 0 de chaine de première ligne je teste si je trouve dans position p un 0 dans la chaine du première ligne alors je vérifie si je trouve 0 dans la même position p dans les chaines des autres lignes.
Cette solution este théorique. Imaginez si nous avons un fichier volumineux.De plus, comment je vais déplacer dans le fichier dans la bonne position ?
A la fin, je ne dois pas obtenir un résultat comme çà :
10 11101
20 10110
30 01011
40 10011
80 11101
100 10101
Mais, Le résultat voulu est( dans le même fichier ou autre fichier) :
essai.txt:
10 11101
20 10110
30 01011
40 10011
80 11101
100 10101
S'il vous plait, j'ai besoin de vos aides.
Merci.
|
|
samedi 18 juillet 2009 à 20:01:14 |
Re : aide traitement du fichier

MoH008
|
Salut,
- 1er traitement :
tu lis ton fichier essais.txt et dans un fichier temporaire tu ne réécris
que les lignes différentes de "00000". Ton fichier temporaire sera épuré des lignes "inutiles" et devrait être moins lourd déjà (espérons beaucoup moins lourd ).
- 2e traitement :
* tu as toujours l'utilisation du tableau qui reste la méthode la plus facile (je pense) même si elle peut s'avérer couteuse.
* ta solution théorique n'est pas mauvaise. pour le déplacement du descripteur du fichier par contre, tu devras être habile! ce lien contient des fonctions qui te seront utiles jète y un oeil
The possible meet the impossible to become the possimpible !!
|
|
dimanche 19 juillet 2009 à 00:33:13 |
Re : aide traitement du fichier

boualiasma
|
Salut,
- J'ai résolu la partie de suppression des lignes. Mais, elle me reste la partie du suppression des colonnes.
donnée:
Chaque ligne du fichier texte contient deux champs: un objet présenté par un entier et un attribut présenté par une chaine de caractère.
Le fichier est bien formé puisque il est rempli de manière suivante:
fprintf("%10d%s",objet,attribut);
- Pour la suppression des colonnes, j'ai trouvé une difficulté à programmer mon idée suivante:
Je positionne sur le premier caractère de chaine de caractère (deuxième champ) du première ligne du fichier. Je teste caractère par caractère si égale à 0, par exemple si on trouve 0 à la position k du la chaine du caractère alors je dois positionner sur la même position k du la chaine du caractère de deuxième ligne alors je teste si ce caractère égale à 0 alors je dois positionner sur la même position k du la chaine du caractère de troisième ligne jusqu'à la fin du fichier. Dans le cas que si n'est pas égale à 0 alors j'arrête ce n'est pas la peine de continuer de voir les autres lignes restantes mais je dois retourner seulement à la position k +1 du chaine du première ligne pour tester si égale à 0 ou non . Si ce n'est pas égale à 0 alors je teste de même manière les caractères restantes jusqu'à la fin du ligne.
Autre optimisation, Si je ne trouve aucun 0 dans la chaine du caractère du première ligne alors c'est inutile de voir les autres lignes donc on s'arrête et on a aucun colonne à supprimer.
Cette idée permet de trouver les positions à supprimer. Mais, je ne sais pas comment je vais les supprimer.
Avez-vous une idée ?
S'il vous plait, j'ai besoin de vos aides pour programmer cette idée et pourquoi pas à améliorer.
Merci.
|
|
Cette discussion est classée dans : fichier, ligne, chaine, lignes, supprimer
Répondre à ce message
Sujets en rapport avec ce message
Urgent:supprimer une chaine d'un fichier [ par rene77 ]
Bonjour à tous, J'ai besoin de supprimer des chaines de caractères d'un fichier txt.Je travaille sous Builder et j'y arrive pas !!!OUINNNN OUINNNS'il
Exploitation de fichier en C ?!?!?! [ par GazGaz ]
lu allalors voila le truc c'est que je voudrais aller chercher des infos dans un fichier qui est structuré de la meme maniere lignes apres lignes. Je
[C] lignes d'un fichier dans un tableau : Segmentation fault [ par Michel76 ]
Bonjour,Pardonnez-moi de cette question de débutant.Soit un fichier contenant :-----001002-----Je souhaiterais mettre chacune des lignes de ce fichier
C : Supprimer une ligne d'un fichier [ par liloulola ]
Bonjour, ca y est, j'arrive à stocker mes structures dans un fichier !En fait, je stocke plusieurs enregistrements du type %s%s%s/nJe souhaiterais pou
lire un fichier txt ligne par ligne [ par lapinrose67 ]
Bonsoir,Je developpe un logiciel en C sous Linux, voila mon problème:Je dois lire un fichier texte ligne par ligne et placer chacune d'entre ellesdans
lire fichier ligne par ligne [ par mat74 ]
salut a ts je voudrai savoir comment je pourrai lire un fichier lignes par lignes . par exemple une fonction qui me permerttrai de recuperer la ligne
se deplacer a la ligne dans un fichier [ par dletozeun ]
est ce que quelqu'un connait une commande,une fonction qui permet de se de placer de lignes en lignes plutot que de caracteres en caracteres?Par ex: p
Supprimer une ligne dans un fichier [ par PunkDude424 ]
Je voudrais savoir comment faire pour supprimer une ligne dans un fichier texte ?? Est-ce qu'il existe une commande pour supprimer une ligne dans un f
comment extraire un fichier csv ligne par ligne avec visualc++? [ par ngatcha ]
bonjour,comment puis je extraire un fichier csv ligne par ligne avec visualc++? J'ai un eproposition de solution mais il y ' a des erreurs dans le co
pb recuperer nombre de lignes [ par sergio18 ]
Bonjourje fais une classe ou je recupere le contenu d'un fichier texte lignes par lignes. Pour cela,j'utilise la fonction fgets et vu qu'elle ne retou
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|