Tri d'un fichier

Le
Skander Fekih
Salut,

J'ai un fichier texte qui contient deux champs:
- cin de type entier
- indication de type chaine de carctère

la taille de deuxième champ est la même dans tout le fichier.
Ce fichier est appelé fich.txt, est le suivant:
10 110101
20 101101
30 111101
40 001101
55 001000
66 110101
79 110001
85 111010
99 010101
1000 100101

Je voudrais écrire un programme C sous Windows pour trier ce fichier
selon le deuxième champ indication de sorte que le cin qui contient de
plus de 1 (nombre du 1)dans son indication alors il sera placé en
premier lieu.

par exemple:
le cin 10 possède quatre 1 dans son indication
le cin 30 possède cinq 1 dans son indication
et etc

Donc le résultat il sera dans le même fichier ou autre fichier comme
le suivant:
30 111101
85 111011
10 110101
20 101101
66 110101
40 001101
79 110001
99 010101
1000 100101
55 001000

Pouvez-vous m'aider comment je vais procéder ?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alain
Le #19789641
"Skander Fekih"
Je voudrais écrire un programme C sous Windows pour trier ce fichier
selon le deuxième champ indication de sorte que le cin qui contient de
plus de 1 (nombre du 1)dans son indication alors il sera placé en
premier lieu.



85 111011
10 110101
20 101101
66 110101



Ca tient pas debout.
111011 devant 110101, 101101, 110101 : il n'y a rien de logique là.
Skander Fekih
Le #19790731
On 19 juil, 23:39, "Alain"
"Skander Fekih"

>Je voudrais écrire un programme C sous Windows pour trier ce fichier
>selon le deuxième champ indication de sorte que le cin qui contient de
>plus de 1 (nombre du 1)dans son indication alors il sera placé en
>premier lieu.
>85 111011
>10 110101
>20 101101
>66 110101

Ca tient pas debout.
111011 devant 110101, 101101, 110101 :  il n'y a rien de logique là.



Salut,

Non, ce n'est pas un comparaison binaire.

Je voudrais écrire un programme C sous Windows pour trier ce fichier
selon le deuxième champ indication de sorte que le cin qui contient de
plus de 1 (nombre de caractère 1 dans son indication) alors il sera
placé en premier lieu.

par exemple:
le cin 10 possède quatre 1 (nombre de caractère 1 dans son
indication)
le cin 30 possède cinq 1 (nombre de caractère 1 dans son indication)
et etc...
Alain
Le #19792571
"Skander Fekih"
On 19 juil, 23:39, "Alain"
Ca tient pas debout.
111011 devant 110101, 101101, 110101 : il n'y a rien de logique là.



Non, ce n'est pas un comparaison binaire.
Je voudrais écrire un programme C sous Windows pour trier ce fichier
selon le deuxième champ indication de sorte que le cin qui contient de
plus de 1 (nombre de caractère 1 dans son indication) alors il sera
placé en premier lieu.



Mais en quoi 111011 derait etre avant 110101 et 101101 avant 110101 ?
Il y a 5 '1' à chaque fois.
Skander Fekih
Le #19793041
On 20 juil, 14:09, "Alain"
"Skander Fekih"
On 19 juil, 23:39, "Alain"
> Ca tient pas debout.
> 111011 devant 110101, 101101, 110101 : il n'y a rien de logique là.
>Non, ce n'est pas un comparaison binaire.
>Je  voudrais écrire un programme C sous Windows pour trier ce fichie r
>selon le deuxième champ indication de sorte que le cin qui contient de
>plus de 1 (nombre de  caractère 1 dans son indication) alors il sera
>placé en premier lieu.

Mais en quoi 111011 derait etre avant 110101  et 101101 avant 110101 ?
Il  y a 5 '1' à chaque fois.



Salut,

On compte le nombre de 1 dans le deuxième champ pour chaque ligne.

Si on a le fichier d'entrée essai.txt contient deux champs cin
(entier) et indication (chaine de caractères formée par 1 et 0). Par
exemple:

10 110101
20 101101
30 111101
40 001101
55 001000
66 110101
79 110001
85 111010
99 010101
1000 100101

Dans ce cas,
le cin 10 posséde quatre 1 dans son indication
le cin 40 posséde trois 1 dans son indication
le cin 30 posséde cinq 1 dans son indication

Le travail demandé est de trier de manière croissante le fichier
essai.txt selon le critère suivant sur le deuxième champ du fichier
c'est à dire le champ nommé indication.
l'indication qui possède plus des 1 dans sa chaîne alors elle sera
placée en premier et ainsi de suite jusqu'à on obtient le résultat
dans le fichier de sortie par exemple out.txt :

30 111101
85 111011
10 110101
20 101101
66 110101
40 001101
79 110001
99 010101
1000 100101
55 001000


SVP, j'ai besoin de vos aides.

Merci.
Alain
Le #19793121
"Skander Fekih"
On 20 juil, 14:09, "Alain"
Mais en quoi 111011 derait etre avant 110101 et 101101 avant 110101 ?
Il y a 5 '1' à chaque fois.



On compte le nombre de 1 dans le deuxième champ pour chaque ligne.



Mais dans l'exemple, il y a 5 '1' à chaque fois !
Pourquoi
111011 avant 110101 et
101101 avant 110101 ???
Skander Fekih
Le #19794041
On 20 juil, 15:32, "Alain"
"Skander Fekih"
On 20 juil, 14:09, "Alain"
> Mais en quoi 111011 derait etre avant 110101 et 101101 avant 110101 ?
> Il y a 5 '1' à chaque fois.
> On compte le nombre de 1 dans le deuxième champ pour chaque ligne.

Mais dans l'exemple, il y a 5 '1' à chaque fois !
Pourquoi
111011  avant 110101 et


le nombre de 1 dans "111011" = 5
le nombre de 1 dans "110101" = 4
donc 5 > 4 et par la suite 111011 avant 110101

101101 avant 110101 ???


de même.
robert
Le #19794361
Skander Fekih a écrit :
On 20 juil, 15:32, "Alain"
"Skander Fekih"
On 20 juil, 14:09, "Alain"
Mais en quoi 111011 derait etre avant 110101 et 101101 avant 110101 ?
Il y a 5 '1' à chaque fois.
On compte le nombre de 1 dans le deuxième champ pour chaque ligne.


Mais dans l'exemple, il y a 5 '1' à chaque fois !
Pourquoi
111011 avant 110101 et


le nombre de 1 dans "111011" = 5
le nombre de 1 dans "110101" = 4
donc 5 > 4 et par la suite 111011 avant 110101

101101 avant 110101 ???


de même.



Tu le fais exprès ou quoi? On te demande comment on fait pour comparer
deux nombres qui ont le même nombre de 1.
Alain
Le #19795241
"Skander Fekih"
On 20 juil, 15:32, "Alain"
"Skander Fekih"



101101 avant 110101 ???


de même.

Et pourquoi ?
Là, il y en 4 dans les 2
Skander Fekih
Le #19798841
On 20 juil, 20:35, "Alain"
"Skander Fekih"
On 20 juil, 15:32, "Alain"
> "Skander Fekih" >
> 101101 avant 110101 ???

de même.

Et pourquoi ?
Là, il y en 4 dans les 2



Salut,

Si il y a en 4 dans les deux alors on garde le même ordre pour les
deux comme existent dans le fichier.
Par exemple:
10 110101 ici on a quatre 1
20 101101 ici on a quatre 1
66 110101 ici on a quatre 1

Donc dans ce cas on laisse le même ordre. c'est à dire:
10 110101
20 101101
66 110101
Publicité
Poster une réponse
Anonyme