Toxyz
Messages postés9Date d'inscriptionjeudi 13 mai 2004StatutMembreDernière intervention29 mai 2005
-
16 janv. 2005 à 20:55
CriPpLe
Messages postés78Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 avril 2005
-
16 janv. 2005 à 22:48
bonsoir, je ne sait pas si cette fonction existe telle qu'elle ou s'il faut la creer mais je sait que je n'y arrive pas ...
mon but : on a une equation (2x^3+5x^2-4x+5) rentrée par l'utilisateur
str_replace change les "-" par des "+-" dans cette equation donc 2x^3+5x^2+-4x+5
mon raisonement (aussi bon ou mauvais qu'il soit, le voici):
-il n'est pas possible de remplacer une lettre dans une chaine par 2 lettres sans decaler les lettres qui suivent
-les pointeurs vont m'être tres utiles
-bon si j'etait un programme voila ce que je ferai :
<HR>
soit equation une chaine.
je cherche la premiere occurence de "-" dans la ligne.(strstr() ?)
je copie la partie de la ligne qui vas du signe "-" a la fin "quelquepart"
je cherche une nouvelle occurence du signe moins sans prendre en compte "quelquepart[0]je copie la partie .... .... quelquepart2
en boucle jusqua ce que strstr() me renvoi NULL
et la donc je concatene chaque partie en y rajoutant le signe + sauf derniere??
//ARF mais ou est passée la premiere partie qui serai dans l'exemple du haut 2x^3+5x^2
Voila j'espere que la plupart d'entre vous aurant reussis a cerner mon probleme...
merci d'avance
minet03
Messages postés415Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention 2 décembre 20053 16 janv. 2005 à 21:34
Ta fonction serai "simple", tu fais ta fonction en passant comme
paramètres la chaine dans laquelle tu veux chercher tes '-', et une
chaine vide capable de stocker la première chaîne.
Dans cette fonction, tu fais une boucle qui va lire chaques caratères de la première chaîne.
Tu analyses ce caractère, si ce caractère n'est pas '-', tu met le
caractère dans la deuxième chaîne. Et si ce caractère est le '-' tu met
le caractère '+', puis le caractère '-'.
Et tu continue la boucle jusqu'à la fin de la première chaine.