Подсчитать число точек, находящихся внутри круга радиусом R=3 с центром в начале координат - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста, не понимаю что не так Подсчитать число точек, находящихся внутри круга радиусом R=3 с центром в начале координат; координаты заданы массивами X[10], Y[10]. Вычисление расстояния точки от начала координат, оформить в виде функции. вот код. где ошибка???
#include <stdio.h>
#include <stdlib.h>
#include <math.h> 
float distance(float x[], float y[], int n)
 
{ int i; float d=0;
for(i=0; i<n; i++)
d+=x[i]*x[i]+y[i]*y[i];
return d;
}
int main()
{
int i,k;
float X[10], Y[10];
for(i=0; i<10; i++)
{ printf("\nX[%d]=", i+1);
scanf( "%f", &X[i]);
}
for (i=0; i<10; i++)
{ printf("\nY[%d]=", i+1);
scanf( "%f", &Y[i]);
}
k=0;
if (distance(X,Y,10)<=3)
k=k+1;
printf("\n the number of points in the circle = %d ", k);
system("PAUSE");
return 0;
}

Решение задачи: «Подсчитать число точек, находящихся внутри круга радиусом R=3 с центром в начале координат»

textual
Листинг программы
float distance(float x, float y)
{  float d;
d =x*x+y*y;  // Квадрат расстояния
return d;
}
....
k = 0;
for(i=0; i<10; i++)
  if (distance(X[i], Y[i]) < 3*3) k++;
...

Объяснение кода листинга программы

  1. В функции distance(float x, float y) вычисляется расстояние между двумя точками в декартовой системе координат, используя формулу d = xx + yy.
  2. Затем используется цикл for для прохода по массивам X и Y.
  3. Если расстояние между текущей точкой и центром круга меньше чем 3*3, то переменная k увеличивается на единицу.
  4. По завершении цикла, значение переменной k будет содержать количество точек, находящихся внутри круга.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы