Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tri d'un fichier

9 réponses
Avatar
Skander Fekih
Salut,

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

la taille de deuxi=E8me champ est la m=EAme dans tout le fichier.
Ce fichier est appel=E9 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 =E9crire un programme C sous Windows pour trier ce fichier
selon le deuxi=E8me champ indication de sorte que le cin qui contient de
plus de 1 (nombre du 1)dans son indication alors il sera plac=E9 en
premier lieu.

par exemple:
le cin 10 poss=E8de quatre 1 dans son indication
le cin 30 poss=E8de cinq 1 dans son indication
et etc...

Donc le r=E9sultat il sera dans le m=EAme 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=E9der ?

Merci.

9 réponses

Avatar
Alain
"Skander Fekih" a écrit dans le message de news:

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à.
Avatar
Skander Fekih
On 19 juil, 23:39, "Alain" wrote:
"Skander Fekih" a écrit dans le message de ne ws:


>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...
Avatar
Alain
"Skander Fekih" a écrit dans le message de news:

On 19 juil, 23:39, "Alain" wrote:
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.
Avatar
Skander Fekih
On 20 juil, 14:09, "Alain" wrote:
"Skander Fekih" a écrit dans le message de ne ws:

On 19 juil, 23:39, "Alain" wrote:

> 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.
Avatar
Alain
"Skander Fekih" a écrit dans le message de news:

On 20 juil, 14:09, "Alain" wrote:
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 ???
Avatar
Skander Fekih
On 20 juil, 15:32, "Alain" wrote:
"Skander Fekih" a écrit dans le message de ne ws:

On 20 juil, 14:09, "Alain" wrote:

> 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.
Avatar
robert
Skander Fekih a écrit :
On 20 juil, 15:32, "Alain" wrote:
"Skander Fekih" a écrit dans le message de news:

On 20 juil, 14:09, "Alain" wrote:

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.
Avatar
Alain
"Skander Fekih" a écrit dans le message de news:

On 20 juil, 15:32, "Alain" wrote:
"Skander Fekih" a écrit dans le message de news:




101101 avant 110101 ???


de même.

Et pourquoi ?
Là, il y en 4 dans les 2
Avatar
Skander Fekih
On 20 juil, 20:35, "Alain" wrote:
"Skander Fekih" a écrit dans le message de ne ws:

On 20 juil, 15:32, "Alain" wrote:

> "Skander Fekih" a écrit dans le message de news:
>
> 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