Grand concours : qui trouvera la solution ?

Le
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
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Roumegou Eric
Le #14420081
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é)
Roumegou Eric
Le #14420071
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é)
Marco
Le #14420061
Je suis d'accord...
Mais en fait j'ai besoin que les numéros se suivent...



"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é)




Roumegou Eric
Le #14420041
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é)
sg
Le #14420021
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" 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




Fietox
Le #14420011
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" 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




Fietox
Le #14420001
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" 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" 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








Fietox
Le #14419991
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" 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" 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" 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












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


"Marco" 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




Marco
Le #14419871
Merci à tous pour votre participation !!!

Tous vos codes vous classent 1er ex aequo :)

@+
Publicité
Poster une réponse
Anonyme