recherche d'un mot dans une chaine - C++ - Programmation
Marsh Posté le 16-01-2007 à 09:59:21
Ton prof qui a décrété le pas le droit à la classe string est un sinistre idiot.
Marsh Posté le 16-01-2007 à 10:08:46
...sauf si le but est justement de reprogrammer des fonctionnalités semblables à celles de std::string
Meloo: que devez-vous utiliser ? qu'avez-vous vu en cours ?
Marsh Posté le 16-01-2007 à 10:57:37
franceso a écrit : sauf si le but est justement de reprogrammer des fonctionnalités semblables à celles de std::string |
Ce qui n'a un iteret pédagogique que au sein d'un cours d'ALGORITHMIE et non de C++ ...
string, comme vector, devraient etre enseignés comme faisant partis des types atomiques du
langage afin d'eviter ces kilometres d'horreur que sont l'utilsiation des pointeurs pour gérer tableaux
et chaine de caracteres en C++.
Marsh Posté le 16-01-2007 à 11:18:11
Joel F a écrit : Ce qui n'a un iteret pédagogique que au sein d'un cours d'ALGORITHMIE et non de C++ ... |
J'ai maheureusement l'impression que de plus en plus de gens apprennent l'algorithmie en faisant du C++ (ou plutôt un truc qu'on pourrait appeler C+, qui ressemble à du C dans lequel on remplace printf par cout)
Marsh Posté le 16-01-2007 à 12:09:57
franceso a écrit : J'ai maheureusement l'impression que de plus en plus de gens apprennent l'algorithmie en faisant du C++ (ou plutôt un truc qu'on pourrait appeler C+, qui ressemble à du C dans lequel on remplace printf par cout) |
Je préconise le retour au supllice du pal pour ces gens là
Marsh Posté le 16-01-2007 à 13:28:03
Joel F a écrit : Je préconise le retour au supllice du pal pour ces gens là |
On le plante dans leur Cin ?
Marsh Posté le 16-01-2007 à 13:33:02
Un cours d'algorithmie en plus d'un cours de C++, ça a un std::cout.
Sinon, pour répondre à la question, il y a la fonction standard strstr() qui peut t'aider. Mais je plussoie, c'est une stupidité que de devoir utiliser des fonctions C pour remplacer des trucs courants en C++.
Marsh Posté le 16-01-2007 à 13:53:15
bah c'est des cours donnés par d'anciens profs de C qui n'ont jamais mis les pieds dans une entreprise. On leur a appris comme ca donc c'est comme ca qu'il l'enseigne
Marsh Posté le 16-01-2007 à 15:17:28
capitaineigloo a écrit : bah c'est des cours donnés par d'anciens profs de C qui n'ont jamais mis les pieds dans une entreprise. On leur a appris comme ca donc c'est comme ca qu'il l'enseigne |
Dans mon école, il s'agit d'un choix raisonné, l'objectif étant de permettre aux élèves de « s'affranchir de la syntaxe contraignante du C pour pouvoir se concentrer sur les problèmes d'algorythmie ». Finalement, les élèves utilisent new / delete au lieu de malloc / free, mais ne connaissent pas la STL
Quand je repasse derrière pour leur expliquer que non, ils ne connaissent pas vraiment le C++ et que oui, std::vector<int> est plus sûr que int*, c'est un peu galère...
Marsh Posté le 16-01-2007 à 17:44:04
Bonjour ^^
En fait, j'ai fait du C++ et de l'algo pendant un an l'an dernier (donc on a appris les bases quoi...).
La on refais du systeme, et ils nous ont donné des exercices de revisions... Donc on est sencé savoir le faire :S.
Citation : Meloo: que devez-vous utiliser ? qu'avez-vous vu en cours ? |
On a vu les tableaux, les pointeurs, allocation dynamique, les strings^^, les arbres, les listes chainées, les classes etc etc...
Pour strstr() ou même pour la fonction strlen() dans le man http://man.developpez.com/man3/strstr.3.php, elles sont écrit appartenant à la classe string
Code :
|
Donc ca veut dire que je ne peux pas les utiliser ? :S Ou bien ca veut dire que ce sont des fonctions qui sont reprises dans la classe string ??? (parce que bon, si strlen ne fonctionne pas, il faut encore faire une boucle pour connaitre la taille du mot recherché etc etc :S)
En tout cas, merci de vos réponses
bonne soirée
meloo
Marsh Posté le 16-01-2007 à 17:49:04
Non, pas la "classe" string, ces fonctions sont définies dans l'en-tête string.h (qui définit une partie de la libc).
Tu peux les utiliser, c'est standard (ed : mais ça reste très laid )
Marsh Posté le 16-01-2007 à 18:17:25
Héhé, bon ok c'est laid... Donc si j'ai le droit à strstr(), strlen(), strcpy()..ca me donne le petit programme :
Code :
|
Marsh Posté le 15-01-2007 à 22:37:13
Bonsoir,
J'ai un petit programme à faire en C++ qui n'est pas très dur de prime abors. Le seul probleme est que je n'ai pas le droit d'utiliser de fonction de la classe string... Et la tout se complique
Explication du programme :
On lance le programme avec un parametre (un mot).
Le programme demande à l'utilisateur de saisir une phrase (sur plusieurs lignes).
On recupere chaque ligne une par une jusqu'a une ligne X qui contiendra le mot passé en parametre.
Bref, sommes toutes un exercice sans grande difficulté... Si on avait le droit aux string... Parce que la, je n'ai aucune idée de la facon de comparer mon mot avec ma ligne, puis d'arreter la saisie s'il est égal... Quelqu'un aurait-il une idée ???
Merci d'avance, et bonne soirée
Meloo