Mail.ruПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоискСмотриComboВсе проекты

Помогите решить задачу по информатике 10 класс

Lego Chel Ученик (103), на голосовании 1 месяц назад
Надо решить на c++
Голосование за лучший ответ
Владимир Донских Мудрец (13586) 2 месяца назад
#include iostream//iostream в угловых скобках, но Ответы их хавают
using namespace std;
int main()
{
double x,y;
int code[4]={}, i;
cin>>x>>y;
if(y<1) code[0]=1;
if(y<-x) code[1]=1;
if(x*x+y*y<1) code[2]=1;
if((x-1)*(x-1)+y*y<1) code[3]=1;
for(i=0;i<4;++i)
cout<<code[i];
return 0;
}
Lego ChelУченик (103) 2 месяца назад
Не работает
Владимир Донских Мудрец (13586) Lego Chel, где чего "не работает"? Запускаете, вводите два числа, получаете ответ. Если VStudio - запускаете Ctrl+F5 и настраиваете проект как "консольное приложение" - иначе окно с результатом сразу же закроется
Lego ChelУченик (103) 2 месяца назад
Когда вводишь 0,5 0,5 выдаёт 1010, а надо 1011
Владимир ДонскихМудрец (13586) 2 месяца назад
if((x-1)*(x-1)+y*y<1) code[3]=1;
Проверьте себя на аккуратность написания этой строчки
Lego Chel Ученик (103) Владимир Донских, всё равно не работает
Lego ChelУченик (103) 2 месяца назад
Точку
Lego ChelУченик (103) 2 месяца назад
Запятая не работает
Владимир Донских Мудрец (13586) тогда всё должно работать
Lego ChelУченик (103) 2 месяца назад
Компилятор запятую за и считает
Николай Веселуха Высший разум (227030) 2 месяца назад
#include <iostream>
using namespace std;
class Point {
public:
Point() : x_(0), y_(0) {}
Point(double x, double y) : x_(x), y_(y) {}
double x()const { return x_; }
double y()const { return y_; }
double radius()const { return sqrt(x_ * x_ + y_ * y_); }
double radius(double dx, double dy)const {
return sqrt(pow(x_ + dx, 2) + pow(y_ + dy, 2));
}
private:
double x_;
double y_;
};
struct Field {
Field() : first(0), second(0), third(0), fourth(0) {}
unsigned short first : 1;
unsigned short second : 1;
unsigned short third : 1;
unsigned short fourth : 1;
friend ostream& operator<<(ostream& out, const Field& field) {
out << field.first << field.second << field.third << field.fourth;
return out;
}
};
class Position {
public:
using spot = bool (*)(const Point& point);
Position(const Point& point) : point_(point) {}
Field get()const { return field_; }
void first(spot func) { if (func(point_)) field_.first = 1; }
void second(spot func) { if (func(point_)) field_.second = 1; }
void third(spot func) { if (func(point_)) field_.third = 1; }
void fourth(spot func) { if (func(point_)) field_.fourth = 1; }
private:
Point point_;
Field field_;
};
int main() {
auto f1 = [](const Point& p) { return p.y() < 1; };
auto f2 = [](const Point& p) { return p.y() < -p.x(); };
auto f3 = [](const Point& p) { return p.radius() < 1; };
auto f4 = [](const Point& p) { return p.radius(-1, -1) < 1; };
double x, y;
cin >> x >> y;
Point point(x, y);
Position position(point);
position.first(f1);
position.second(f2);
position.third(f3);
position.fourth(f4);
cout << position.get() << '\n';
system("pause");
}
Владимир ДонскихМудрец (13586) 2 месяца назад
А ещё длиннее можно было?
Николай Веселуха Высший разум (227030) Это код и так на вырост))
Lego ChelУченик (103) 1 месяц назад
А что так длинно?
Николай Веселуха Высший разум (227030) Lego Chel, разрешаю сократить)
Похожие вопросы
Также спрашивают