Ich habe versucht, ein Programm zu machen, das die Teiler einer Zahl findet, die vom Benutzer angegeben wird. Mein Programm kompiliert, aber es funktioniert nicht richtig.Suche nach Divisoren einer Nummer
#include <iostream>
using namespace std ;
int main() {
int a,x,y,z,p ;
int d [z] ;
y=0 ;
cout << "Please give me the number you want me to check for dividors" << endl ;
cin >> a ;
for (x=2;x<a;x++){
if(a%x==0)
d[y]=x ;
y++ ;
}
if (y==0){
cout << a <<" has no dividors except itself and 1 and therefore, " << a <<" is a prime" << endl ;
}
else
cout << a <<" has " << y <<" dividors except itself and 1 and this dividors are :" << endl ;
for (p=0;p<=y;p++){
cout << d[p] <<endl ;
}
return 0 ;
}
'd [z]' - stellen Sie sich eine einfache Frage. Wie groß ist dieses Array? –
Das richtige Werkzeug, um solche Probleme zu lösen, ist Ihr Debugger. Sie sollten Schritt für Schritt durch Ihren Code * gehen, bevor Sie auf Stack Overflow nachfragen. Für weitere Hilfe lesen Sie bitte [Wie kleine Programme zu debuggen (von Eric Lippert)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Zumindest sollten Sie Ihre Frage bearbeiten, um ein [minimales, vollständiges und verifizierbares] (http://stackoverflow.com/help/mcve) Beispiel einzufügen, das Ihr Problem zusammen mit den Beobachtungen, die Sie in der Debugger. –
Sie sagen "dividor", ich sage "divisor", lassen Sie uns die ganze Sache nennen :-) – paxdiablo