Structure de données(tableaux)

Fermé
meriam88 Messages postés 9 Date d'inscription dimanche 5 octobre 2008 Statut Membre Dernière intervention 16 novembre 2008 - 27 oct. 2008 à 21:16
 meriam88 - 27 oct. 2008 à 22:01
Bonjour,

1er programme : j'ai un tableau de 15 éléments qui est trié dans le sens croissant,on doit y insérer un élément de sorte qu'il reste trié.
2ème programme : on suppose que le tableau n'est pas trié,on doit le trier en utilisant le premier programme.


j'ai fais le premier programme,mais le deuxième j'y arrive pas ,merci de m'aider si possible.

6 réponses

MrSlave Messages postés 2587 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 26 août 2011 146
27 oct. 2008 à 21:17
Sous quel langage ?
0
oups ! g oublié de préciser que c'était sous langage c,merci
0
MrSlave Messages postés 2587 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 26 août 2011 146
27 oct. 2008 à 21:41
Je dirais quelque chose comme ça pour le premier :
ajouté=0;
point = 1;
while (ajouté == 0) and (point<tailletab){
	if(valeurAajouter>tab[point])and(valeurAajouter<=tab[point+1])
		for(i=tailletab;i<=point+1;i--){
			tab[taille]=tab[taille+1];
		}
		tab[point+1]=valeurAajouter;
		ajouté=1;
	}else{
		point++;
}

On pourrait utiliser un for mais le while va empêcher d'aller jusqu'à la fin du tableau si on a ajouté la valeur.
Je fais ça de tête donc il y a peut être des erreurs.
Si tu ne comprend pas quelque chose dis le moi.
Je regarde le 2eme. ;)
0
MrSlave Messages postés 2587 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 26 août 2011 146
27 oct. 2008 à 21:43
Mais quel c** !
Je n'avais pas vu que tu avais déjà fait le 1er. :(

Désolé.
0
c'est pas grave,ça me fera une ptite révision :) et merci bcp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MrSlave Messages postés 2587 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 26 août 2011 146
27 oct. 2008 à 21:48
Et pour le 2eme :
float t[],temp;
int min,i,j;

for(i=1;i<=tailletab;i++){
	min = i;
	for(j=i;j<=tailletab;j++){
		if(t[j]<min){
			min = t[j];
		}
	}
	temp = t[i];
	t[i] = t[min];
	t[min] = temp;
}

On prend la première valeur et on l'échange avec la plus petite du tableau.
Ensuite on prend la 2eme valeur et on l'échange avec la seconde plus petite ...

Ca te va ?
0
oui mais c'est un tri par permutation,mais ce qui est demandé à faire c'est d'utiliser le principe du premier programme pour faire le 2ème,je crois que l'on considère la première case du tableau non trié tel un tableau trié d'un seul élément et on fait l'insertion des autres éléments.comment?je sais pas,mais je vous remercie infiniment :)
0