Aide code c++

fari -  
mich62120 Messages postés 636 Statut Membre -
Bonjour,

pourquoi il ya

2 error, 2 warning

dans se code

code

#include <iostream>
using namespace std;

int *divides;
int times;

void HowTimes(int x);
void pointer();
void TheMain(int x);

void main()
{
int a;

cin>> a;
TheMain(a);
for(int i=0;i<times;i++)
cout <<divides[i]<< endl;
cout << "The Many Of How Number Divides Is:\t"
<<times
<<endl;
}

void pointer( )
{
divides=new int[times];
}

void HowTimes(int x)
{
for (int i=1;i<=x;i++)
if(x%i==0) ++times;
}

TheMain(int x)
{
HowTimes(x);
pointer();
for (int i=1,int j=0;j<times,i<=x;i++)
if(x%i==0){
divides[j]=i;
j++;}
}

3 réponses

Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
Salut.
Je ne vois pas d'erreur, mais ton code est très moche : il n'est pas du tout conforme aux manières habituelles de faire (la fonction pointer() par exemple !).
Pour tes erreurs, regarde ce que te dit le compilateur, il te dit pourquoi et où tu as des erreurs.
0
mich62120 Messages postés 636 Statut Membre 6
 
Salut,

Je n'ai jamais de for comme cela et je ne crois pas que cela existe:

for (int i=1,int j=0;j<times,i<=x;i++)

De plus il n'a pas de bloc donc cela doit expliquer un warning

TheMain(int x) 
{ 
HowTimes(x); 
pointer(); 
int j=0,i=1;
while(j<times){
   if(x%i==0){ 
      divides[j]=i; 
      j++;}
   i++; } //fin while
}
0
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
J'ai déjà vu des for qui avaient la même tête, mais peut être pas exactement ça du point de vue de la déclaration.
et plutôt que "j<times,i<=x" qui en effet peut porté à confusion pour le compilateur, utilise :
"j<times && i<=x"
De plus, en C/C++ les blocs {} ne sont pas obligatoire (contrairement au perl), juste est pris en compte la seul instruction suivante (if(){}else{} est considéré comme une seule instruction)
0
mich62120 Messages postés 636 Statut Membre 6
 
if(){}else{} est considéré comme une seule instruction

Merci de ces précision Char Snipeur je ne savais pas, dans ce cas je ne vois pas d'auter proposition que la tienne.

Si cela ne resoud le problème, peut tu mettre les erreurs données stp fari?Ca sera plus simple.
Mich
0