Определить попадание точки в заштрихованную область - C (СИ)
Формулировка задачи:
Вот сама задача:
Одномерные массивы:
Указатели:
Дано координаты точек х1, y1, x2, y2,..., x15, y15. Если точка попадает в плоскость, ограниченную кругом х^2 + y^2 = R^2, то вывести на печать координаты этой точки и сообщение "ТОЧКА В ПЛОСКОСТИ", если точка вне круга, то вывести на печать координаты точки и сообщение " ТОЧКА ЗА ПРЕДЕЛАМИ ". R = 15.
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
main()
{
int i, R2=225;
float x[15], y[15];
clrscr();
randomize();
for(i=0;i<15;i++)
{
x[i]=random(15);
y[i]=random(15);
if(pow(x[i],2)+pow(y[i],2)<R2)
printf("\nTochka x(%i)=%f, y(%i)=%f v koli", i, x[i], y[i]);
else
printf("\nTochka x(%i)=%f, y(%i)=%f ne v koli", i, x[i], y[i]);
}
free(x);
free(y);
}#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
main()
{
int i, R2=225;
float *x=malloc(15), *y=malloc(15);
clrscr();
randomize();
for(i=0;i<15;i++)
{
*x=random(1001)/40.0;
*y=random(1001)/40.0;
if(pow(*x,2)+pow(*y,2)<R2)
printf("\nTo4ka x[%i]=%f,y[%i]=%f v koli",i,*x,i,*y);
else
printf("\nTo4ka x[%i]=%f,y[%i}=%f ne v koli",i,*x,i,*y);
}
if(i<=14)x++; y++;
free(x);
free(y);
}И там, и там программа не компилируется. Подскажите, где ошибка, и что не правильно, будьте добры.
Решение задачи: «Определить попадание точки в заштрихованную область»
textual
Листинг программы
if(pow(*p,2)+pow(*u,2)<R2)
Объяснение кода листинга программы
pиu- это указатели на два числа (координаты X и Y соответственно)pow(*p,2)иpow(*u,2)- это возведение в квадрат координат X и Y соответственноpow(*p,2)+pow(*u,2)- это сумма квадратов координат X и YR2- это радиус заштрихованной области (возможно, диаметр или другое значение, в зависимости от постановки задачи)- Если сумма квадратов координат X и Y меньше радиуса заштрихованной области, то точка попадает в эту область
- В этом случае выполняется действие, указанное после оператора
if(если есть)