Strstr() avec int [Résolu]

Signaler
Messages postés
125
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
7 octobre 2006
-
Messages postés
125
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
7 octobre 2006
-
Bonsoir,
mon problème est le suivant :
j'aimerais utiliser la fonction strstr() avec des variables int , et forcément il râle .. j'ai essayé de faire strstr(char(variable_int),"chercher") mais ça ne lui plait pas non plus ...

De plus, pourriez vous me donner quelques infos sur la fonction instr () ? parce que je ne trouve bizarrement rien sur google ..

En fait j'aimerai faire comme suit :
trouver si un nombre est un nb premier :
je fais une boucle :
for (i=1;i<=chiffre_a_analyser;i++)
si il trouve seulement 2 nombres sans virgules dans le résultat, alors c'est un nb premier

et j'ai donc besoin de strstr pour voir si le résultat de "chiffre_a_analyser / i" contient un "."
Si vous avez une autre methode pour y parvenir, je suis ouvert

Merci beaucoup


nashoy

4 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Si tu cherches simplement a savoir si un nombre est decimal ou non :

int temp;
float pi = 3.14;

temp = (int)pi;

if ((float)temp == pi) ALORS PAS NOMBRE DECIMAL

+2(p - n)
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
25
instr() n'existe pas en C.
strstr() recherche la présence d'une chaine dans une autre chaine, bien entendu rien à voir avec du int qui ne contient que du binaire sur 4 octets.
Un nombre ne contient jamais de virgule ou de point, ce n'est que sa représentation littérale pour lecture humaine qui pourrait en avoir.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
23
Date d'inscription
mardi 20 avril 2004
Statut
Membre
Dernière intervention
16 octobre 2008

Salut,
Pourquoi ne pas utiliser la division Euclidienne si le reste est nul alors c'est ok... ?

int a;
cin>>a;
int result;
for(int counter = 0; counter < a, counter++)
{
if(!a%counter)
result = a/counter;
}

Enfin un truc dans le genre ^^...

Fituza
Messages postés
125
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
7 octobre 2006

Oui c'est vrai ça doit aussi marcher ça =D
Je note ... !!
@AlexMAN : en fait, le (float) n'est même pas nécéssaire ;
if ((float)temp == pi) .
En tout cas maintenant ça marche, merci beaucoup!!

nashoy