Kcuftesends
Messages postés6Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention 8 septembre 2010
-
16 oct. 2008 à 15:26
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 2009
-
16 oct. 2008 à 23:17
bonjour je suis en train de créer un programme qui permet de determiner si un nombre est triangulaire c'est à dire qu'il peut etre egal a la somme des entiers positifs consecutif ex: 3=0+1+2 6=0+1+2+3
j'ai effectué ce code mais il ne fonctionne pas. est ce que vous pouvez m'aider à trouver ce probleme. merci.
#include
using namespace std;
bool est_triangulaire (int valeur)
{
int inc(0); bool trian(false);
for (int i(1); i>(10*valeur); i++)
{
inc=inc+i;
if (inc==valeur) {trian==true; break;}
else trian=false;
}
return trian;
}
int main ()
{
int nb; bool A;
cout << "entrez un nombre" << endl;
cin >> nb;
A=est_triangulaire(nb);
if (A==true) cout << " votre nombre est un nombre triangulaire" << endl;
else cout << "votre nombre n'est pas triangulaire" << endl;
system("pause");
return 0;
}
Kcuftesends
Messages postés6Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention 8 septembre 2010 16 oct. 2008 à 15:26
#include
using namespace std;
bool est_triangulaire (int valeur)
{
int inc(0); bool trian(false);
for (int i(1); i>(10*valeur); i++)
{
inc=inc+i;
if (inc==valeur) {trian==true; break;}
else trian=false;
}
return trian;
}
int main ()
{
int nb; bool A;
cout << "entrez un nombre" << endl;
cin >> nb;
A=est_triangulaire(nb);
if (A==true) cout << " votre nombre est un nombre triangulaire" << endl;
else cout << "votre nombre n'est pas triangulaire" << endl;
system("pause");
return 0;
}
Kcuftesends
Messages postés6Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention 8 septembre 2010 16 oct. 2008 à 23:09
Merci de m'avoir repondu ,
mais ta fonction ne marche pas car tu retourne directement la valeur de somme, et donc si on reflechi bien la somme renverras toujours 1 donc elle ne sera pas egale a i.
Il faudrait pouvoir rajouter 1 à "somme" jusqu'a temps qu'elle trouve la valeur de i et donc retourné "true" ou alors elle ne trouve pas la valeur et alors il faut créer un condition pour sortir de la boucle
pour mon cas j'ai utilisé " i >(10*valeur) " comme condition.