Aide code c++

fari -  
mich62120 Messages postés 631 Date d'inscription   Statut Membre Dernière intervention   -
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++;}
}
A voir également:

3 réponses

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   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 631 Date d'inscription   Statut Membre Dernière intervention   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 9813 Date d'inscription   Statut Contributeur Dernière intervention   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 631 Date d'inscription   Statut Membre Dernière intervention   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