URGENT Trier Tableau de chaine de caractère ds l'ordre alphabétique

Signaler
Messages postés
10
Date d'inscription
jeudi 8 mai 2003
Statut
Membre
Dernière intervention
12 octobre 2004
-
Messages postés
1
Date d'inscription
dimanche 9 mars 2008
Statut
Membre
Dernière intervention
13 mars 2008
-
J'ai encore besoin de votre aide!!!
C'est très facile diront certain, mais je bloque!!

Il me faut trier un tabeau de chaines de caractères dans l'ordre alphabétique.

Merci de me noter les lignes de codes nécessaires! C'est TRES urgent!!! Merci à celui ou ceux qui me sauveront la vie!!

18 réponses

Messages postés
236
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
18 juillet 2006
1
#include 
#include <vector>
#include 

using namespace std;

void print(char c)
{
cout << c << " ";
}

int main()
{
//vecteur de char
vector<char> v;

//on ajoute des caracteres dans le vecteur
v.push_back('z');
v.push_back('b');
v.push_back('x');
v.push_back('c');
v.push_back('m');

//affichage avant
for_each(v.begin(), v.end(), print);
cout << endl;

//tri
sort(v.begin(), v.end());

//affichage ensuite
for_each(v.begin(), v.end(), print);
cout << endl;

return 0;
}
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
en c, vu que c'est pas preciser

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int pstr_strcmp( const void *str1, const void *str2 );

int main()
{
const char *tab_str[] = { "chaine1", "chaine4", "chaine2", "chaine30", "chaine3" };
size_t i;

qsort( tab_str, sizeof tab_str / sizeof tab_str[0], sizeof tab_str[0], pstr_strcmp );

for( i = 0; i < sizeof tab_str / sizeof tab_str[0]; i++ )
{
puts( tab_str[i] );
}

return 0;
}

int pstr_strcmp( const void *str1, const void *str2 )
{
return strcmp( *(const char **)str1, *(const char **)str2 );
}

yafuka : fais gaffe tu tri un tableau de caractere la :)
Messages postés
10
Date d'inscription
jeudi 8 mai 2003
Statut
Membre
Dernière intervention
12 octobre 2004

je m'auto réponds!! :-) MERCI A VOUS 2!!! ca fai plaisir de moins se sentir seul!!
j'ai qd même réussi à sortir un algo!! mais un peu lourd!!!
//rangement des noms des TE par ordre alphabétique
//avec noms des TI et apprentis qui suivent
do { 
modif = 0; 
for (i=0; i<count-1; i++) { 
if (strcmp(TE[i], TE[i+1]) >0) { 
        //Si les chaines ne sont pas dans le bon ordre
strcpy(temp1, apprenti[i]); 
strcpy(temp2, TI[i]); 
strcpy(temp3, TE[i]);
strcpy(apprenti[i], apprenti[i+1]); 
strcpy(TI[i], TI[i+1]); 
strcpy(TE[i], TE[i+1]); 
strcpy(apprenti[i+1], temp1); 
strcpy(TI[i+1], temp2); 
strcpy(TE[i+1], temp3); 
modif = 1; 
} 
} 
 } while (modif == 1);
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
qsort et strcmp, comment tu veux faire plus simple ?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
qsort de la CRT est une merveille d'efficacite, a utiliser sans moderation.
et c'est implemente avec des vilains 'goto', chuuuttttt...

ciao...
BruNews, MVP VC++
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
goto et autres commandes de ruptures de séquences ne sont pas vilains

c'est juste que dans certains cas ca rend le code plus difficile à lire

dans d'autre cas l'utilité est prouvé, lisible et évite l'indentation inutile du code
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
ben oui djl, mais tout le monde n'est pas aussi pragmatique que toi.

ciao...
BruNews, MVP VC++
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
oui, enfin pour mois ca tient plus du mythe (le fais d'eviter absolument ces commandes), parce qu'au final on perd son temps
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
tant que C bien documenté, po de pb....

" évite l'indentation inutile du code"
tu la trouves inutile toi?

à la limite, C po grave, MP reprend ça et n'en place qu'une
mais C clair que avec goto C plus rapide pr les adepte du spagetti et ceux ayant commencé en asmb ou avec basica.... (très vieux souvenirs)

perso j'evite de conseiller ça, il vaut mieux apprendre aux autres sans... leurs codes seront plus lisibles, maintenables & reprenables (C bien le but du site non?)

++
Magic Nono: l'informagicien! 8-)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
non, pour moi goto, break, continue, c'est coté machine mais ca reste un des gros manque de l'algorithimie ou tous doit etre sequentiel, parfois ca complique vraiment les choses

entre un code de 50 lignes avec ces commandes et un autres de 150 avec x niveaux d'indentation, je vois tout de suite lequel est le plus lisible

"
" évite l'indentation inutile du code"
tu la trouves inutile toi?"

parfois elle l'est vraiment, lorsqu'on sort d'un etat qui ne reviendra plus, on reste au meme niveau d'indentation alors qu'une rupture de sequence juste avant serais aussi lisible
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
k

personnellement, je n'utilise que exceptionnelement break et continue et il est vrai que ça simplifie la vie
et ds tout MP, il doit y avoir un seul goto....

Je trouve plus propre d'utiliser des exceptions rattrappées dans les cas que tu cites

Cheers
Magic Nono: l'informagicien! 8-)
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
nono, les exceptions impliquent une masse de code supplementaire inseree par le compilo et nuisent gravement aux performances. Quand c'est inutile ou qu'un 'if' suffirait, il faut absolument s'en passer.

ciao...
BruNews, MVP VC++
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
mé alors, on nous auré menti?

sérieux, on apprend vraiement de ces conneries quand on est en cours...

En tt cas merci pour l'info et je retiens...

Je ne pensais pas que le code gérant les exceptions pouvait etre si imposant... gourmant et lent.

Magic Nono: l'informagicien! 8-)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
attention quand meme, la on parle de deux philosophie differente, a savoir celle du c et du c++

en c tu vois ce que fais ton code instruction par instruction, en c++ tout ca est caché derrieres des mechanismes abstraits dans le but de rendre ton code plus modulables, productifs et plus securisé tout en restant performant

donc en c++ il faut voir avant tout l'aspect sécurisé du code et laisser faire le compilo, les exceptions ne sont pas la pour rien

a toi de choisir c ou c++, mais si tu fais du c++, ne fais pas du c avec des classes ou des cout
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
tu fais du c avec des classes toi?

lol

je pense que les classes st une des révolutions du c++

++
Magic Nono: l'informagicien! 8-)
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
7
quand je dis c avec des classes, je veux dire du c++ ou ya que la poo de c++, le reste de c

comme tu fais avec des Bxx en utilisant des FILE * et autres realloc

le "c with class" et preprocesseur c++ c'est fini, maintenant c'est un vrai langage et les compilos sont natif, la bonne chose est de tout oublier du c (sauf ses defauts)
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
ui
djl> tt a fait exact C vrai,
mé qd on voit certains srce C++ sans mm la poo d'obj, ça fait peur

détail : Bxx font appel aux exceptions
mé tu as raison

y faudrait les maj completement
pr utiliser pleinement ttes les fonctionnalités C++

Tu C C de ces projets dont on parle tjs mais pour lesquels on a js une minute

En tt cas reprendre les Bxx ds cet optique accélèrerai etc
ts les utilisateurs de cette lib

Attention ça pourrait amener d'autres pb !!!!!!!
cf mon dernier post : new debug/release

++
Magic Nono: l'informagicien! 8-)
Messages postés
1
Date d'inscription
dimanche 9 mars 2008
Statut
Membre
Dernière intervention
13 mars 2008

Bonjour,

quelqu'un pourrait-il me dire que doivent inclure les "include" des algorithmes proposés ??