Hello everybody, pleased to be here. I'm relatively new to programming, just took up learning C a few weeks ago (and not that actively either).
I've run into an assignment that my mentor said "could" be appropriate, but that there's a simpler solution (which she did not say of course -_-), but when I wrote the code in Microsoft Visual Studio C++, the debugger returned no errors, but I can't seem to understand why I get nothing as a result (actually, instead of a number result, I get "-858993460").
The code SHOULD be doing the following: The user types the values of N and M, where N is the number of natural numbers (is it "natural" in English? All whole numbers above 0 that is :P) and M is the paramater. The program is supposed to find the biggest number from 0 to N whose summary of digits is equal to M.
Here's the code I wrote:
Code:#include <stdio.h> #include <math.h> main () { int n,m,i,j,k,p,l,sum,x,max; printf("Type in the amount of numbers \n"); scanf("%d",&n); printf("Type in the M paramater \n"); scanf("%d",&m); for (i=0;i<n;i++); { k=1; for (j=1;j<=k;j++); { if (i/pow(10,j)==0) p=j; else k++; } sum=0; for (l=p;l>=1;l--) { x=(i%(int)pow(10,l))/(pow(10,l-1)); sum=sum+x; } if (sum==m) max=i; } printf ("The greatest number whose sumary of digits is equal to M is %d \n",max); }



LinkBack URL
About LinkBacks


