Сколько среди заданных точек таких, которые принадлежат кругу радиусом R с центром в начале координат? - C (СИ)

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

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

Даны натуральное число n,действительные числа r1,a1,...an(n>=2). Сколько среди точек (a1,an),(a2,an-1),...(an,a1) таких, которые принадлежат кругу радиуса r с центромв начале координат?

Решение задачи: «Сколько среди заданных точек таких, которые принадлежат кругу радиусом R с центром в начале координат?»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int main( void ){
  4.     int n, i, j;
  5.     float r;
  6.     scanf("%d %f", &n, &r);
  7.     float *a;
  8.     a = (float *) malloc(n * sizeof(float));
  9.     for (i = 1; i <= n; i++)
  10.         scanf("%f", &a[i]);
  11.     i = 0;
  12.     j = n + 1;
  13.     int k = 0;
  14.     while (i != (n / 2 + n % 2)){
  15.         i++;
  16.         j--;
  17.         if (a[i]*a[i] + a[j]*a[j] <= r*r)
  18.             k++;
  19.     }
  20.     printf("%d", k);
  21. return(0);
  22. }

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

В этом коде:

  1. Сначала объявляются переменные:
    • n - количество точек
    • i и j - индексы точек
    • r - радиус круга
    • a - массив для хранения координат точек
  2. С помощью функции scanf вводятся значения переменных n и r.
  3. Динамически выделяется память под массив a с помощью функции malloc.
  4. В цикле for с помощью функции scanf в массив a считываются координаты точек.
  5. Переменные i и j инициализируются, а переменная k обнуляется.
  6. В цикле while проверяется, есть ли точка с индексом i на заданном круге. Если да, то переменная k увеличивается на единицу.
  7. После выхода из цикла while выводится значение переменной k, которое и является ответом на задачу.

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


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

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

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы