|
/* Module: tr4_q3.cpp Author: Yariv Amar What? This program prints all the results of equations type Ax+By+Cz=D in given range of numbers. Input : N - represent the range of x,y,z (-N/2<=x,y,z<=N/2) Output: The number of results 2 of results Assumptions on input: Integer even number grater than 2 How? Using 2 nesting loops for x and y and calculating .z according to x&y. checking whether z is also in the range and counting that result. We also store the first 2 results as an example of correct x,y,z and print them at the end. */ #include <iostream.h> void main() { int x,y,z,N; int x1,y1,z1,x2,y2,z2; //defining temp variable int Counter=0; const int A=4; //x prefix const int B=-18;//y prefix const int C=2; //z prefix const int D=30; //result cout<<"Please enter the range of results: "; cin>>N; for (x=(-N/2);x<=N/2;x++) //start loop on x for (y=(-N/2);y<=N/2;y++) //start loop on y { z=(D-A*x-B*y)/C; //calculate Z if (z>=(-N/2) && z<=N/2) //check if z is in the range. { Counter+=1; if (Counter<=2) //prevent checking if have 2 results if (Counter==1) //remember the 1st { x1=x ; y1=y ; z1=z; } else //remember the 2nd { x2=x ; y2=y ; z2=z; } } }//End loop on y //End loop on x //print results cout<<"The number of results is: "<<Counter<<"\n"; cout<<"x="<<x1<<" y="<<y1<<" z="<<z1<<"\n"; cout<<"x="<<x2<<" y="<<y2<<" z="<<z2<<"\n"; } פלטים מיצגים
Please enter the range of results: 10
Please enter the range of results: 100
Please enter the range of results: 1000
|
© Copyright YAProductions 2000 |