Lutte avec les pointeurs...

Toxyz Messages postés 9 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 29 mai 2005 - 20 janv. 2005 à 23:40
bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010 - 21 janv. 2005 à 00:33
bonsoir, je vais essayer d'etre bref et explicite ...
disons que j'ai une equation : 2x^36+5 ( '^' -> puissance)
je cherche a connaitre la puissance, ici donc j'aimerai par exemple qu'au final une variable contienne '36'
voila ce que j'ai fait :

*sam pointe sur l'equation de sortie modifiée (-2x^3-5x^2+3x-2 en -2x^3+-5x^2+3x+-2)

while(*sam != '+') {
...
if (*sam == 'x') //bon on arrive à x
{
sam++;// On va au prochain caractere qui logiquement est soit un '+', soit un '^'
if (*sam == '^')
{
sam++;
while (*sam != '+') {
//Ici je dois concatener tout les chiffres qui se situent apres le '^' et avant le '+'
//Et enregistrer sa dans une variable que je passerai en int pour la puissance
//Ci-dessous mon taff...
Exposant(puis, sam);
}
}
int y = atoi(puis);
e = pow(x, y);//x defini plus haut et e variable temporaire
}
else
{
e= x;
}
}
pour ce qui est avant x, cela fonctionne, fonction de type droite (pas d'exposant) sa fonctione, mais la je peine vraiment... (et apres j'integre le tout dans une boucle while (*sam) lol)
merci de l'aide que vous pourriez m'apporter.

1 réponse

bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
21 janv. 2005 à 00:33
Essaye voir ca, ca sort meme les puissance negative

int main()
{
char* sam = "2x^9-5x^-8+3x-2";
char* s= sam;
char* o;
int exp = 0;
char puiss[10]; //9 chiffre!!


while(*s++)
{
if(*s == 'x')
s++;

if(*s == '^')
{
o = ++s;


if(*s == '-')
s++;


while((*s >= '0' && *s <= '9'))
s++;

strcpy(puiss,o);
puiss[s - o] = 0;


puts(puiss);
}
}


return 0;
}
0
Rejoignez-nous