• Aucun résultat trouvé

Tri à bulles – BTS Systèmes Numériques On se propose de réaliser un programme

N/A
N/A
Protected

Academic year: 2022

Partager "Tri à bulles – BTS Systèmes Numériques On se propose de réaliser un programme"

Copied!
4
0
0

Texte intégral

(1)

Tri à bulles – BTS Systèmes Numériques

On se propose de réaliser un programme triant dans l'ordre un tableau de nombres entiers.

L'algorithme utilisé est le tri à bulles

Le tri à bulle consiste à parcourir le tableau, par exemple de gauche à droite, en comparant les éléments côte à côte et en les permutant s'ils ne sont pas dans le bon ordre. Au cours d'une passe du tableau, les plus grands éléments remontent de proche en proche vers la droite comme des bulles vers la surface.

On s'arrête dès que l'on détecte que le tableau est trié : si aucune permutation n'a été faite au cours d'une passe.

BTS SN, Lycée Fourcade 13120 Gardanne. tp_tri_a_bulles.odt

1/4

(2)

Tri à bulles – BTS Systèmes Numériques

Travail à faire :

Compléter les programme ci après qui réalise le tri d'un tableau (tab) d'entiers de (ne) éléments. (xxxxxxxx) indique une ligne à compléter.

la fonction sizeof de la bibliothèque stdlib retourne la taille en octets de la variable opérande

ex : sizeof(tab) donne 16 car sur un PC un entier occuper 4 octets ettab contient quatre entiers

Tester le programme, en cas de succès faire une démo au professeur

BTS SN, Lycée Fourcade 13120 Gardanne. tp_tri_a_bulles.odt

2/4

(3)

Tri à bulles – BTS Systèmes Numériques

BTS SN, Lycée Fourcade 13120 Gardanne. tp_tri_a_bulles.odt

3/4

(4)

Tri à bulles – BTS Systèmes Numériques

#include <stdio.h>

#include <stdlib.h>

#define TRUE 1

#define FALSE 0

#define ne 4 // nombre d éléments a trier int tab[ne]; // tableau à trier

void tri_a_bulle(int t[],int n) {

int j = 0; /* Variable de boucle */

int tmp = 0; /* Variable de stockage temporaire */

/* Booléen marquant l'arrêt du tri si le tableau est ordonné */

int en_desordre = TRUE;

/* Boucle de répétition du tri et le test qui

arrête le tri dès que le tableau est ordonné(en_desordre=FALSE) */

while (xxxxxxxx) {

/* Supposons le tableau trié */

en_desordre = xxxxxxxx;

/* Vérification des éléments des places j et j+1 */

for xxxxxxxx {

/* Si les 2 éléments sont mal triés */

if(xxxxxxxx) {

/* Inversion des 2 éléments */

xxxxxxxx

/* on informe que le tableau n'est toujours pas trié */

en_desordre = xxxxxxxx }

} }

}

int main() {

int i,taille;

// nombre d'éléments à trier , taille du tableau sur taille des int.

taille=sizeof(tab)/sizeof(int);

for (i=0;i<taille;i++) {

printf("entrez le nombre entier numero %d : ",i+1 );

scanf("%d",tab+i);

}

// tiage du tableau tri_a_bulle(tab,taille);

printf("Dans l'ordre on a … \n");

// on affiche le tableau ici à l’aide d’une boucle for xxxxxxxx

return 0;

}

BTS SN, Lycée Fourcade 13120 Gardanne. tp_tri_a_bulles.odt

4/4

Références

Documents relatifs

mais tout n’est pas encore trié...... On est sûr de ne plus devoir

mais tout n’est pas encore trié...... On est sûr de ne plus devoir

[r]

A la suite de la modification structurelle d’EDF, le contrat de concession est désormais porté, d’une part, par Electricité réseau distribution de France (ERDF) pour

Afin de comprendre quelles informations on peut extraire des signaux acoustiques enregistr´ es, nous avons mod´ elis´ e en laboratoire l’´ eclatement de ces bulles par une cavit´

Des travaux pr´ec´edents sur l’´eclatement de films de savon ont montr´e que l’amplitude du signal ext´erieur P ext d´ependait non seulement de la surpression initiale `

Pour ces compétences et missions de service public fixées à l’article L. 1424-2 du CGCT, le SDIS ne peut facturer ses prestations. 1424-42 du même code pose en effet le principe de

En s’inspirant de la fonction MinTab(N,Tab) écrite dans le TD précédent, écrire maintenant la fonction RangMinTab(N,P,Tab) qui retourne cette fois le rang (et non la valeur) de la