#include <iostream>
using namespace std;
int main()
{
int n,x,y,s=0,p=1;
int nr,nr1;
cout<<"n=";
cin>> n ;
cout<<"x=";
cin>> x ;
cout<<"y=";
cin>> y;
while(n!=0)
{
if(n%10%x==0)
s=s+n%10;
nr++;
if(n%10<y)
p=p*(n%10);
nr1++;
}
cout<<"s="<<s<<"\n";
cout<<"nr="<<nr<<"\n";
cout<<"p="<<p<<"\n";
cout<<"nr1="<<nr1<<"\n";
}
Ich kann einen Wert für n , x
und y
eingeben, aber es zeigt kein Ergebnis nach. Ich weiß wirklich nicht, was ich tun soll. Ich denke, am Ende stimmt etwas mit dem Cout nicht, aber ich kann nicht wirklich herausfinden, was. Ich würde wirklich schätzen, wenn jemand helfen könnte, weil ich das für eine Prüfung in 2 Tagen brauche ...Warum geht es nicht mit s, nr, p und nr1?
Sie nie 'n' in der Schleife ändern. Wie würde es jemals "0" werden, also endet die Schleife? Sie hätten es sehr schnell herausgefunden, wenn Sie nur einen Debugger verwendet hätten, um den Code Zeile für Zeile durchzugehen. Ein Debugger ist eines der wichtigsten Werkzeuge in der Toolbox eines Programmierers. –
Auch ich vermute, dass die 'if'-Anweisungen nicht tun, was Sie von ihnen erwarten. Dies wäre bei Verwendung eines Debuggers auch sehr schnell herausgefunden worden. –
Wenn Sie 'n = 0 'eingeben, wird es nicht in die While-Schleife eingegeben, und wenn Sie größer als' 1 'sind, wird es nicht aus der While-Schleife kommen. Kannst du erklären, was du erreichen willst? – MCG