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

Grand concours : qui trouvera la solution ?

11 réponses
Avatar
Marco
Je commence à vous connaitre et je sais que vous appréciez les petits
problèmes. Je vais donc vous en poser un.

Vous avez une table mémoire (TABLE_MEMOIRE) avec un plusieurs colonnes :

COL1 => Classement
COL2 => Score

L'idée est de calculer le classement... avec des ex aequo.

Personnellement, j'arrive à faire un classement :

1
2
2
4
5
...

Mais je n'arrive pas à faire :

1
2
2
3
4
5
...

Alors comment feriez-vous ca ?

Marco

Mon code :

POUR i=1 A TableOccurrence(TABLE_MEMOIRE)


SI TABLE_MEMOIRE.Score[i+1]=TABLE_MEMOIRE.Score[i] ALORS

TABLE_MEMOIRE.Classement[i+1]=TABLE_MEMOIRE.Classement[i]

FIN


FIN

10 réponses

1 2
Avatar
Roumegou Eric
Dans son message précédent, Marco a écrit :
Je commence à vous connaitre et je sais que vous appréciez les petits
problèmes. Je vais donc vous en poser un.

Vous avez une table mémoire (TABLE_MEMOIRE) avec un plusieurs colonnes :

COL1 => Classement
COL2 => Score

L'idée est de calculer le classement... avec des ex aequo.

Personnellement, j'arrive à faire un classement :

1
2
2
4
5
...

Mais je n'arrive pas à faire :

1
2
2
3
4
5
...

Alors comment feriez-vous ca ?

Marco

Mon code :

POUR i=1 A TableOccurrence(TABLE_MEMOIRE)


SI TABLE_MEMOIRE.Score[i+1]=TABLE_MEMOIRE.Score[i] ALORS

TABLE_MEMOIRE.Classement[i+1]=TABLE_MEMOIRE.Classement[i]

FIN


FIN


sans verif de syntaxe, cela peut être un truc comme ça (Clast score +
grand au + faible)

clt=0
edclt=0
savval=-9999999999999999
tabletrie(table_memoire,score)
pour toute ligne de tablememoire
clt=clt+1
si score > savval alors
savval=score
edclt=clt
fin
classementíclt
fin

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumegou Eric
Roumegou Eric vient de nous annoncer :
Dans son message précédent, Marco a écrit :
Je commence à vous connaitre et je sais que vous appréciez les petits
problèmes. Je vais donc vous en poser un.

Vous avez une table mémoire (TABLE_MEMOIRE) avec un plusieurs colonnes :

COL1 => Classement
COL2 => Score

L'idée est de calculer le classement... avec des ex aequo.

Personnellement, j'arrive à faire un classement :

1
2
2
4
5
...






Ben C'est CA QU'EST BON !!!



Mais je n'arrive pas à faire :

1
2
2
3
4
5
...






C'EST PAS UN CLAST ça !


Alors comment feriez-vous ca ?

Marco

Mon code :

POUR i=1 A TableOccurrence(TABLE_MEMOIRE)


SI TABLE_MEMOIRE.Score[i+1]=TABLE_MEMOIRE.Score[i] ALORS

TABLE_MEMOIRE.Classement[i+1]=TABLE_MEMOIRE.Classement[i]

FIN


FIN


sans verif de syntaxe, cela peut être un truc comme ça (Clast score + grand
au + faible)

clt=0
edclt=0
savval=-9999999999999999
tabletrie(table_memoire,score)
pour toute ligne de tablememoire
clt=clt+1
si score > savval alors
savval=score
edclt=clt
fin
classementíclt
fin



--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Marco
Je suis d'accord...
Mais en fait j'ai besoin que les numéros se suivent...



"Roumegou Eric" a écrit dans le message de news:

Roumegou Eric vient de nous annoncer :
Dans son message précédent, Marco a écrit :
Je commence à vous connaitre et je sais que vous appréciez les petits
problèmes. Je vais donc vous en poser un.

Vous avez une table mémoire (TABLE_MEMOIRE) avec un plusieurs colonnes :

COL1 => Classement
COL2 => Score

L'idée est de calculer le classement... avec des ex aequo.

Personnellement, j'arrive à faire un classement :

1
2
2
4
5
...






Ben C'est CA QU'EST BON !!!



Mais je n'arrive pas à faire :

1
2
2
3
4
5
...






C'EST PAS UN CLAST ça !


Alors comment feriez-vous ca ?

Marco

Mon code :

POUR i=1 A TableOccurrence(TABLE_MEMOIRE)


SI TABLE_MEMOIRE.Score[i+1]=TABLE_MEMOIRE.Score[i] ALORS

TABLE_MEMOIRE.Classement[i+1]=TABLE_MEMOIRE.Classement[i]

FIN


FIN


sans verif de syntaxe, cela peut être un truc comme ça (Clast score +
grand au + faible)

clt=0
edclt=0
savval=-9999999999999999
tabletrie(table_memoire,score)
pour toute ligne de tablememoire
clt=clt+1
si score > savval alors
savval=score
edclt=clt
fin
classementíclt
fin



--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)




Avatar
Roumegou Eric
Marco avait écrit le 21/11/2006 :
Je suis d'accord...
Mais en fait j'ai besoin que les numéros se suivent...



A tester ...

clt=0
edclt=0
savval=-9999999999999999
tabletrie(table_memoire,score)
pour toute ligne de tablememoire
clt++
si score > savval alors
savval=score
edclt=clt
clt--
fin
classementíclt
fin

-- Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)







--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
sg
juste pour le fun le classement devra etre

1
2
2
4
5

et pas

1
2
2
3
4
5

pas de place 3 si c'est un classement de type compétition

il suffit d'assigner l'indice de ligne à la place quand ce n'est pas une
égalité

WebJaseur SPRL


"Marco" a écrit dans le message de news:
456337e3$0$31675$
Je commence à vous connaitre et je sais que vous appréciez les petits
problèmes. Je vais donc vous en poser un.

Vous avez une table mémoire (TABLE_MEMOIRE) avec un plusieurs colonnes :

COL1 => Classement
COL2 => Score

L'idée est de calculer le classement... avec des ex aequo.

Personnellement, j'arrive à faire un classement :

1
2
2
4
5
...

Mais je n'arrive pas à faire :

1
2
2
3
4
5
...

Alors comment feriez-vous ca ?

Marco

Mon code :

POUR i=1 A TableOccurrence(TABLE_MEMOIRE)


SI TABLE_MEMOIRE.Score[i+1]=TABLE_MEMOIRE.Score[i] ALORS

TABLE_MEMOIRE.Classement[i+1]=TABLE_MEMOIRE.Classement[i]

FIN


FIN




Avatar
Fietox
Bonjour,
et avec ce code :

classm est un entier = 1
i est un entier

classm est un entier = 1
i est un entier

TableTrie(MaTable_aff,"score")
Classement[1] = 1
POUR i= 2 A TableOccurrence(MaTable_aff)
SI Score[i-1] < Score[i] ALORS classm++
Classement[i] = classm
FIN

J'ai rempli ma table avec un score = hasard(1000) sur 50 lignes
j'ai eu 2 30 eme et 5 42 eme
j'ai reussi aussi a avoir de 1 a 50

bon dev
@+

"Marco" a écrit dans le message de news:
456337e3$0$31675$
Je commence à vous connaitre et je sais que vous appréciez les petits
problèmes. Je vais donc vous en poser un.

Vous avez une table mémoire (TABLE_MEMOIRE) avec un plusieurs colonnes :

COL1 => Classement
COL2 => Score

L'idée est de calculer le classement... avec des ex aequo.

Personnellement, j'arrive à faire un classement :

1
2
2
4
5
...

Mais je n'arrive pas à faire :

1
2
2
3
4
5
...

Alors comment feriez-vous ca ?

Marco

Mon code :

POUR i=1 A TableOccurrence(TABLE_MEMOIRE)


SI TABLE_MEMOIRE.Score[i+1]=TABLE_MEMOIRE.Score[i] ALORS

TABLE_MEMOIRE.Classement[i+1]=TABLE_MEMOIRE.Classement[i]

FIN


FIN




Avatar
Fietox
petite erreur

j'ai pas vu le dernier post

le code suivant fait ce que tu veux

classm est un entier = 0
nbEx est un entier = 0
vScore est un entier
i est un entier

TableTrie(MaTable_aff,"score")
POUR i= 0 A TableOccurrence(MaTable_aff)-1
SI i>0 ALORS vScore = Score[i]
SI Score[i+1] > vScore ALORS classm++
Classement[i+1] = classm
FIN
SI Score[i+1] > Score[i] ALORS classm++
Classement[i] = classm

j'ai bien 1 2 3 4 4 5 etc ...

bon dev
@+
"Fietox" a écrit dans le message de news:
456353e8$0$11672$
Bonjour,
et avec ce code :

classm est un entier = 1
i est un entier

classm est un entier = 1
i est un entier

TableTrie(MaTable_aff,"score")
Classement[1] = 1
POUR i= 2 A TableOccurrence(MaTable_aff)
SI Score[i-1] < Score[i] ALORS classm++
Classement[i] = classm
FIN

J'ai rempli ma table avec un score = hasard(1000) sur 50 lignes
j'ai eu 2 30 eme et 5 42 eme
j'ai reussi aussi a avoir de 1 a 50

bon dev
@+

"Marco" a écrit dans le message de news:
456337e3$0$31675$
Je commence à vous connaitre et je sais que vous appréciez les petits
problèmes. Je vais donc vous en poser un.

Vous avez une table mémoire (TABLE_MEMOIRE) avec un plusieurs colonnes :

COL1 => Classement
COL2 => Score

L'idée est de calculer le classement... avec des ex aequo.

Personnellement, j'arrive à faire un classement :

1
2
2
4
5
...

Mais je n'arrive pas à faire :

1
2
2
3
4
5
...

Alors comment feriez-vous ca ?

Marco

Mon code :

POUR i=1 A TableOccurrence(TABLE_MEMOIRE)


SI TABLE_MEMOIRE.Score[i+1]=TABLE_MEMOIRE.Score[i] ALORS

TABLE_MEMOIRE.Classement[i+1]=TABLE_MEMOIRE.Classement[i]

FIN


FIN








Avatar
Fietox
le meme sans les variables

classm est un entier = 1
i est un entier

TableTrie(MaTable_aff,"score")
Classement[1]=1
POUR i= 1 A TableOccurrence(MaTable_aff)-1
SI Score[i+1] > Score[i] ALORS classm++
Classement[i+1] = classm
FIN
SI Score[i+1] > Score[i] ALORS classm++
Classement[i] = classm

@+
"Fietox" a écrit dans le message de news:
4563566b$0$5418$
petite erreur

j'ai pas vu le dernier post

le code suivant fait ce que tu veux

classm est un entier = 0
nbEx est un entier = 0
vScore est un entier
i est un entier

TableTrie(MaTable_aff,"score")
POUR i= 0 A TableOccurrence(MaTable_aff)-1
SI i>0 ALORS vScore = Score[i]
SI Score[i+1] > vScore ALORS classm++
Classement[i+1] = classm
FIN
SI Score[i+1] > Score[i] ALORS classm++
Classement[i] = classm

j'ai bien 1 2 3 4 4 5 etc ...

bon dev
@+
"Fietox" a écrit dans le message de news:
456353e8$0$11672$
Bonjour,
et avec ce code :

classm est un entier = 1
i est un entier

classm est un entier = 1
i est un entier

TableTrie(MaTable_aff,"score")
Classement[1] = 1
POUR i= 2 A TableOccurrence(MaTable_aff)
SI Score[i-1] < Score[i] ALORS classm++
Classement[i] = classm
FIN

J'ai rempli ma table avec un score = hasard(1000) sur 50 lignes
j'ai eu 2 30 eme et 5 42 eme
j'ai reussi aussi a avoir de 1 a 50

bon dev
@+

"Marco" a écrit dans le message de news:
456337e3$0$31675$
Je commence à vous connaitre et je sais que vous appréciez les petits
problèmes. Je vais donc vous en poser un.

Vous avez une table mémoire (TABLE_MEMOIRE) avec un plusieurs colonnes :

COL1 => Classement
COL2 => Score

L'idée est de calculer le classement... avec des ex aequo.

Personnellement, j'arrive à faire un classement :

1
2
2
4
5
...

Mais je n'arrive pas à faire :

1
2
2
3
4
5
...

Alors comment feriez-vous ca ?

Marco

Mon code :

POUR i=1 A TableOccurrence(TABLE_MEMOIRE)


SI TABLE_MEMOIRE.Score[i+1]=TABLE_MEMOIRE.Score[i] ALORS

TABLE_MEMOIRE.Classement[i+1]=TABLE_MEMOIRE.Classement[i]

FIN


FIN












Avatar
joseph cvjetic
Clé composée COL2+COL1
C'est le matin c'est la seule idée qui me vient à l'esprit
J Cvjetic


"Marco" a écrit dans le message de news:
456337e3$0$31675$
Je commence à vous connaitre et je sais que vous appréciez les petits
problèmes. Je vais donc vous en poser un.

Vous avez une table mémoire (TABLE_MEMOIRE) avec un plusieurs colonnes :

COL1 => Classement
COL2 => Score

L'idée est de calculer le classement... avec des ex aequo.

Personnellement, j'arrive à faire un classement :

1
2
2
4
5
...

Mais je n'arrive pas à faire :

1
2
2
3
4
5
...

Alors comment feriez-vous ca ?

Marco

Mon code :

POUR i=1 A TableOccurrence(TABLE_MEMOIRE)


SI TABLE_MEMOIRE.Score[i+1]=TABLE_MEMOIRE.Score[i] ALORS

TABLE_MEMOIRE.Classement[i+1]=TABLE_MEMOIRE.Classement[i]

FIN


FIN




Avatar
Marco
Merci à tous pour votre participation !!!

Tous vos codes vous classent 1er ex aequo :)

@+
1 2