Aller au contenu

Change
Photo

Langage C


  • Veuillez vous connecter pour répondre
6 réponses à ce sujet

#1
NNNNBOT

NNNNBOT

    En transit

  • Membre
  • 110 messages
  • LocalisationTroyes
Bonjour à tous!

Je bloque totalement sur un exercice :gne:
Pouvez-vous m'aider?
Si oui je vous communique l'énoncé de mon exercice.

"Remplir un tableau de 10 valeurs saisies par l'utilisateur.
Ecrire un programme qui effectue un "tri bulle" :
On parcourt le tableau en comparant t[0] et t[1] et en échangeant ces éléments s'ils ne sont pas dans le
bon ordre.
On recommence le processus en comparant t[1] et t[2],... et ainsi de suite jusqu'à t[8] et t[9].
On compte lors de ce parcours le nombre d'échanges effectués.
On fait autant de parcours que nécessaire jusqu'à ce que le nombre d'échanges soit nul : le tableau
sera alors trié."

Pas le droit à la moquerie je débute :P
Merci
  • 0
SFF4GAMERS: E7500@2,93GHz / Asus P5N-D / 250GTS / 4Go RAM / Raid0 F3 500gb@7200 Tr/min

#2
Cronff

Cronff

    En attente de Visa

  • Membre
  • 54 messages
Ha le grand classique! :)

Tu bloque sur quelle partie exactement? Sur la manière de faire le tri?

Edit : ne compte pas sur moi pour te donner la solution, mais pour t'y amener ;)

Modifié par Cronff, 07 novembre 2011 - 18:58.

  • 0
May the V4 Force be with you...

Newbie (ou plutôt en retard :P)

#3
Arkh

Arkh

    Geek diplomé

  • Membre
  • 2 259 messages

Edit : ne compte pas sur moi pour te donner la solution, mais pour t'y amener ;)

+1, ca serait bien de montrer ce que tu as deja ecrit...
  • 0

D900F : I7 950 (8x3.1Ghz) /// 6GB DDR3 1333MHz (3x2Go) /// GTX 280M (128CC/1GHz/1Go) /// 2x320GB 7200Trs/min /// WUXGA Non-Glare Screen 1920x1200 /// Razer Abyssus /// NC-2000 /// By PcSystems-EvolutionX /// Powered by Debian!

> Get Process Explorer


#4
toto63

toto63

    Geek diplomé

  • Membre
  • 2 874 messages
Bonsoir,
:lol: de l'algo, *lieu de rencontres charmantes* moi pour demain j'ai un prog en C++ pour un menu avec saisie du mot, crytage en césar (avec le problème de la fin d'alphabet et avec un décalage quelconque en plus) et cryptage avec clé.

Bon revenons à ton tri, attends, je cherche dans mes cours :
Alors déjà commençons par le principe de ce tri :
Quand ton tableau est rempli, le but est de comparer deux à deux les valeurs et les inverser si besoin.
Mais à quand arrêter le scan ?
Quand on inverse plus les chiffres, donc un drapeau devra être utilisé (yapermute par exemple).

T'ayant bien aiguillé, je te laisse le soin de faire tout cela en C :
-> 1 ère étape : remplir le tableau
-> 2 ème étape : boucle tant que yapermute (qu'on inverse les chiffres) avec dedans ce qu'il faut pour comparer les deux valeur et les inverser au besoin)
-> 3 ème étape : tester.
  • 0

Desktop : HP Omen 870-025 nf, GTX 1080, i5 6400
Calcul distribué avec BOINC : 210 000 000 PTS (GPU GRID, World Community Grid)


#5
Yo Eight

Yo Eight

    Admin du Code

  • Membre
  • 4 218 messages
  • Localisationdans les environs de Paris
Sérieux, tu peux faire un effort, c'est très facile.

voici un indice:

main = do
  xs <- sequence . (replicateM 10) readLn
  putStrLn . show . sort (fmap (read) xs)
    where sort (x:xs) = sort (filter (x <) xs) ++ sort (filter (x ==) xs) ++ sort (filter (x >) xs)
          sort _ = []
:chant:

nb: bon j'avoue que ce n'est pas un tri à bulle mais un quicksort non optimisé et c'est pas du C mais tu l'as cherché :D
  • 0
Mon blog: Deikonad - Functional Programming
iMac 27" : Core i7 860 @ 2,8 GHz - ATI 4850M - 8Go @ 1066MHz - 1To @ 7200trs/min
MacBook Pro 15" : Core i7 2635QM @ 2GHz - ATI 6490M - 8Go @ 1333MHz - 500Go @ 5400trs/min
MacBook Pro 13" : Core 2 Duo P8400 @ 2,26GHz - nVidia 9400M - 2Go @ 800MHz - 160Go @ 5400trs/min

#6
NNNNBOT

NNNNBOT

    En transit

  • Membre
  • 110 messages
  • LocalisationTroyes
Je n'ai pas encore commencé, je voulais avoir un avis sur comment commencé surtout.
Et Toto63 je penses que tu m'as bien aider.
Je vous tiens au courant de l'avancement de mon programme :cool:
  • 0
SFF4GAMERS: E7500@2,93GHz / Asus P5N-D / 250GTS / 4Go RAM / Raid0 F3 500gb@7200 Tr/min

#7
Majork

Majork

    Grand Geek

  • Membre
  • 883 messages
  • LocalisationNantes
ah souvenir souvenir...

je suis sur que y'a pleins d'exemple sur le net.

1 -> saisie
2 -> vérif sur la saisie (et oui ca peut servir quand les mecs tappent de la *$^^ùm)
3-> tant que (permut)
3-> a: permut = faux / i=0 ...
3-> b : comparer i et i+1 (i indice du tab)
permuter ? -> permut = vrai
3-> c : i=0

en plus, si tu relis l'énoncé, ce que je viens de mettre n'est qu'une écriture différente... je crois que j'en ai trop dit

On compte lors de ce parcours le nombre d'échanges effectués. => débrouille toi !!! :vert: pas trop dur non plus....
  • 0

Clevo W860CU by clevo.fr little custom...
i7 720QM / 8Go DDR3 corsair / GTX 285 AMD 6990m / Crucial M4 256Go + 320Go 7200Tr / 15"6 1600*900 / W7 Pro 64bits / G500
=> 12 300pts 3dMarks 06 Zalman ZM NC-3500 / drivers ici
majork49.png





0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)