Подсчитать число точек, находящихся внутри круга радиусом 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++; ...
Объяснение кода листинга программы
- В функции distance(float x, float y) вычисляется расстояние между двумя точками в декартовой системе координат, используя формулу d = xx + yy.
- Затем используется цикл for для прохода по массивам X и Y.
- Если расстояние между текущей точкой и центром круга меньше чем 3*3, то переменная k увеличивается на единицу.
- По завершении цикла, значение переменной k будет содержать количество точек, находящихся внутри круга.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д