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

Помогите написать программу на си

Addk Знаток (256), открыт 3 недели назад
Разветвляющийся процесс. Попадание точки в плоскость.
Даны вещественные числа x и y. Определить принадлежит ли точка с координатами (x; y) заштрихованной части плоскости.
3 ответа
Сергей Гений (59759) 3 недели назад
 #include <stdio.h> 
#define MIN(a,b) (((a)<(b))?(a):(b))
#define MAX(a,b) (((a)>(b))?(a):(b))

int main()
{
double x, y;
int in{};
scanf("%lf%lf", &x, &y);
if (x > 0 && y > 0) in = (x - 2.) * (x - 2.) + (y - 2.)*(y - 2.) <= 1;
if (x < 0 && y < 0) in = MIN(x + 1.5, y + 1.5) <= 0.5 && MAX(x + 1.5, y + 1.5) <= 0.5;
printf("%s", in ? "In" : "Out");
}
d
Батаев Дмитрий Просветленный (22916) 3 недели назад
 #include <windows.h> 
#include <locale.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

struct Circle
{
float xr;
float yr;
float rr;
}C1;
struct Quad
{
float xl;
float xr;
float yu;
float yd;
}Q1;

void InitCircle(float,float,float);
void InitQuad(float,float,float,float);
int CicleStatus(float,float);
int QuadStatus(float,float);

int main()
{
system("chcp 1251 > nul");
SetConsoleTitle("ОтветыМейлРу"); // Русские буквы
setlocale(LC_ALL, "Russian");

InitCircle(2.0, 2.0, 1.0);
InitQuad(-2.0, -1.0, -1.0, -2.0);

float X= 0.0, Y= 0.0; char so[3];
printf("Введите Х= "); scanf("%f", &X);
fflush(stdin);
printf("Введите Y= "); scanf("%f", &Y);

int sr= CicleStatus(X, Y);
int sq= QuadStatus(X, Y);


if (sq) strcpy(so, ""); else strcpy(so, "не");

printf("Точка с координатами Х= %f и Y= %f \n", X, Y);
if (sr) strcpy(so, ""); else strcpy(so, "не");
printf ("%s принадлежит окружности\n", so);
if (sq) strcpy(so, ""); else strcpy(so, "не");
printf ("%s принадлежит квадрату", so);

printf("\n"); system("pause");

return 0;
}
////////
void InitCircle(float x,float y,float r)
{
C1.rr= r; C1.xr= x; C1.yr= y;
}
void InitQuad(float xxl,float xxr,float yyu,float yyd)
{
Q1.xl= xxl; Q1.xr= xxr;
Q1.yd= yyd; Q1.yu= yyu;
}
int CicleStatus(float xx,float yy)
{
float rr= sqrt(pow((xx-C1.xr), 2.0) + pow((yy-C1.yr),2.0) );
if (rr<=C1.rr) return 1;
else return 0;
}
int QuadStatus(float xx,float yy)
{
if ((xx>=Q1.xl && xx<=Q1.xr) && (yy>=Q1.yd && yy<=Q1.yu) )
return 1;
else return 0;
}
СергейГений (59759) 3 недели назад
кажется ответ не видно, если используются только <> нужно вставить любой обычный текст.
Батаев Дмитрий Просветленный (22916) Сергей,
 #include <windows.h> 
#include <locale.h> 
#include <stdio.h> 
#include <string.h> 
#include <stdlib.h> 
#include <math.h> 
 
struct Circle 
{ 
    float xr; 
    float yr; 
    float rr; 
}C1; 
struct Quad 
{ 
    float xl; 
    float xr; 
    float yu; 
    float yd; 
}Q1; 
 
void InitCircle(float,float,float); 
void InitQuad(float,float,float,float); 
int CicleStatus(float,float); 
int QuadStatus(float,float); 
 
int main() 
{ 
      system("chcp 1251 > nul"); 
        SetConsoleTitle("ОтветыМейлРу");    // Русские буквы 
        setlocale(LC_ALL, "Russian"); 
 
        InitCircle(2.0, 2.0, 1.0); 
        InitQuad(-2.0, -1.0, -1.0, -2.0); 
 
        float X= 0.0, Y= 0.0; char so[3]; 
        printf("Введите Х= "); scanf("%f", &X); 
        fflush(stdin); 

 
Батаев ДмитрийПросветленный (22916) 3 недели назад
не хочу ничего комментировать. Ответ больше чем положено длинной. Да ну их в задницу. Экономисты вшивые. Видимо на питоне туго с динамикой
Батаев ДмитрийПросветленный (22916) 3 недели назад
#include <windows.h>
#include <locale.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

struct Circle
{
float xr;
float yr;
float rr;
}C1;
struct Quad
{
float xl;
float xr;
float yu;
float yd;
}Q1;

void InitCircle(float,float,float);
void InitQuad(float,float,float,float);
int CicleStatus(float,float);
int QuadStatus(float,float);
цц
Батаев ДмитрийПросветленный (22916) 3 недели назад
int main()
{
system("chcp 1251 > nul");
SetConsoleTitle("ОтветыМейлРу"); // Русские буквы
setlocale(LC_ALL, "Russian");

InitCircle(2.0, 2.0, 1.0);
InitQuad(-2.0, -1.0, -1.0, -2.0);

float X= 0.0, Y= 0.0; char so[3];
printf("Введите Х= "); scanf("%f", &X);
fflush(stdin);
printf("Введите Y= "); scanf("%f", &Y);

int sr= CicleStatus(X, Y);
int sq= QuadStatus(X, Y);


if (sq) strcpy(so, ""); else strcpy(so, "не");


цц
Батаев ДмитрийПросветленный (22916) 3 недели назад
printf("Точка с координатами Х= %f и Y= %f \n", X, Y);

if (sr) strcpy(so, ""); else strcpy(so, "не");

printf ("%s принадлежит окружности\n", so);

if (sq) strcpy(so, ""); else strcpy(so, "не");

printf ("%s принадлежит квадрату", so);



printf("\n"); system("pause");



return 0;

}чч
Батаев ДмитрийПросветленный (22916) 3 недели назад
////////
void InitCircle(float x,float y,float r)
{
C1.rr= r; C1.xr= x; C1.yr= y;
}
void InitQuad(float xxl,float xxr,float yyu,float yyd)
{
Q1.xl= xxl; Q1.xr= xxr;
Q1.yd= yyd; Q1.yu= yyu;
}
int CicleStatus(float xx,float yy)
{
float rr= sqrt(pow((xx-C1.xr), 2.0) + pow((yy-C1.yr),2.0) );
if (rr<=C1.rr) return 1;
else return 0;
}
int QuadStatus(float xx,float yy)
{
if ((xx>=Q1.xl && xx<=Q1.xr) && (yy>=Q1.yd && yy<=Q1.yu) )
return 1;
else return 0;
}
я пояснения автоматом сюда добавлял,а сейчас забыл
Батаев ДмитрийПросветленный (22916) 3 недели назад
Этот код для препода самое то, а то вдруг они макросы не проходили ))))
Батаев ДмитрийПросветленный (22916) 3 недели назад
ВК тоже грузится долго. Видимо супостаты обиделись на мои комменты, а тут новые подоспели ))
ToljanChiMAN Искусственный Интеллект (274441) 3 недели назад
создай четыре переменные: x1, x2 и y1, y2
присвой им числа.
потом через условие if, else проверь
попадает ли другое число между: x1 и x2 и y1 и y2
Похожие вопросы