Programmation en c

lalati Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -  
lalati Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -
bonsoir à tous;


voilà les amis j'ai un petit problème avec un exercice que je dois faire , espérant que quelqu'un de vous pourra m'aider
voilà l'énoncé :

soit une matrice de n lignes et de m colonnes, écrire a programme qui répond aux questions suivantes:
1-trier la matrice d'entiers, ligne par ligne, indépendamment les une des autres.
2-trier tous les éléments de cette matrice.
en utilisant le tri par insertion (en langage c)

je me contenterai d'une orientation pour résoudre ce problème
merci de bien vouloir me répondre

1 réponse

lucieb31 Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   62
 
salut,
pour la premiere question, tu considere chaque ligne comme un tableau et tu fais un trie dessus. ainsi tu fais 2 boucle imbriqué et dans la deuxieme (qui correspond aux colonnes) tu fais le tri.
pour la deuxieme question tu fais un parcours de ta matrice, et pour chaque element tu le place au bon endroit. pour ce faire, il te faut les 2 boucles de parcours de ta matrice, dans la deuxieme tu récupere l'élément a trié, le mieux c'est que tu fasse d'abord une verification "inverse" sur l'element precedent pour pas faire un parcours qui sert a rien, et tu fais un parcours du debut de la boucle a l'indice de l'element courant et tu place ton element ou tu veux quand tu l'as trouvée en faisant un decallage. si la verification est bonne tu ne fais rien.
je ne sais pas si j'ai été assez claire donc je vais de faire un exemple pour la deuxieme question :

for(i = 0; i<n; i++)
for(j = 0; j<m; j++)
//recuparation de l'element courant
tmp = tab[i][j]
//verification sur l'element precedent
if(tmp '<' ou '>' (ça depend du sens du tri) tabt[i][j-1])
//parcours de la matrice avec tri
for(k = 0; k<i; k++)
for(l = 0; l<j; l++)
...(faire le tri et le decallage)


j'espere t'avoir aidé
0
lalati Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   4
 
bonsoir
merci beaucoup pour votre aide
bonne fin de soiréee ;



Ça prend une minute pour remarquer quelqu’un, une heure pour l’apprécier une journée pour l’aimer mais toute une vie pour l’oublier
0