127 lines
3.2 KiB
C++
127 lines
3.2 KiB
C++
|
#include <cstdlib>
|
|||
|
#include <iostream>
|
|||
|
#include <Math.h>
|
|||
|
#include <Windows.h>
|
|||
|
|
|||
|
using namespace std;
|
|||
|
|
|||
|
const int n = 20; //<2F><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
float a,b;
|
|||
|
float X[n], Y[n]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void SetColor(int text, int background)
|
|||
|
{
|
|||
|
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
|
|||
|
SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void startApp() {
|
|||
|
system("CLS");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
SetColor(2,0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cout << "---------------------------------" << endl;
|
|||
|
cout << "- Author: Victor aNNiMON Melnik -" << endl;
|
|||
|
cout << "---------------------------------" << endl;
|
|||
|
SetColor(15,0);//<2F><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD> a <20> b
|
|||
|
void enterAandB() {
|
|||
|
cout << endl << "Enter a: ";
|
|||
|
cin >> a;
|
|||
|
cout << "Enter b: ";
|
|||
|
cin >> b;
|
|||
|
if(a>b) {
|
|||
|
float tmp = a;
|
|||
|
a = b;
|
|||
|
b = tmp;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> X
|
|||
|
void calculateX(bool view) {
|
|||
|
if(view) cout << "Calculating "<<n<<" values of array X"<<endl;
|
|||
|
SetColor(15,0);//<2F><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for(int i=0; i<n; i++) {
|
|||
|
X[i]=0.1*sqrt(12*i)+log10(i+7);
|
|||
|
if(view) cout<<i<<": "<<X[i]<<endl;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Y
|
|||
|
void calculateY(bool view) {
|
|||
|
if(view) cout << "Calculating "<<n<<" values of array Y"<<endl;
|
|||
|
SetColor(15,0);//<2F><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for(int i=0; i<n; i++) {
|
|||
|
if(X[i]>1) Y[i]=pow(X[i],4)+((2*(X[i]*X[i])+3)/(M_PI*X[i]))*sin(X[i])+0.47;
|
|||
|
else Y[i]=X[i]*sin(pow(X[i],1/3))+((2*log(fabs(X[i])+1)+1)/(1+2*(cos(X[i]-M_PI/6)*
|
|||
|
cos(X[i]-M_PI/6))));
|
|||
|
if(view) cout<<i<<": "<<Y[i]<<endl;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void process() {
|
|||
|
char m = ' ';//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool viewX=false,viewY=false;
|
|||
|
SetColor(2,0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cout << endl << "Choose one of parameters:" << endl;
|
|||
|
SetColor(14,0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cout << "\t 0 - Not view X and Y arrays" << endl;
|
|||
|
cout << "\t 1 - View X array" << endl;
|
|||
|
cout << "\t 2 - View Y array" << endl;
|
|||
|
cout << "\t 3 - View X and Y arrays" << endl;
|
|||
|
SetColor(15,0);//<2F><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
while((m<'0') || (m>'3')) {
|
|||
|
cin >> m;
|
|||
|
}
|
|||
|
switch(m) {
|
|||
|
case '0':
|
|||
|
viewX=viewY=false;
|
|||
|
break;
|
|||
|
case '1':
|
|||
|
viewX=true;
|
|||
|
viewY=false;
|
|||
|
break;
|
|||
|
case '2':
|
|||
|
viewX=false;
|
|||
|
viewY=true;
|
|||
|
break;
|
|||
|
case '3':
|
|||
|
viewX=viewY=true;
|
|||
|
break;
|
|||
|
}
|
|||
|
SetColor(2,0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
calculateX(viewX);
|
|||
|
SetColor(2,0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
calculateY(viewY);
|
|||
|
}
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
void getAnswer(float a, float b) {
|
|||
|
int num = 0;
|
|||
|
SetColor(14,0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for(int i=0; i<n; i++) {
|
|||
|
if((Y[i]>=a) && (Y[i]<=b)) {
|
|||
|
cout << i << ", ";
|
|||
|
num++;
|
|||
|
}
|
|||
|
}
|
|||
|
if(num>0) {
|
|||
|
cout << " are belong to ["<<a<<","<<b<<"]"<<endl;
|
|||
|
}
|
|||
|
cout << "Number of elements: "<<num<<endl;
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int main()
|
|||
|
{
|
|||
|
startApp();
|
|||
|
enterAandB();
|
|||
|
process();
|
|||
|
getAnswer(a,b);
|
|||
|
system("PAUSE");
|
|||
|
return 0;
|
|||
|
}
|