Попадание точки в заданную область - C (СИ) (70144)

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

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

Доброго времени суток! Попрошу помочь с написанием кода на языке Си Вот рисунок(область в которую надо попасть заштрихована): Нужно узнать попадает ли точка в заданную область. Заранее спасибо, всем мир!

Решение задачи: «Попадание точки в заданную область»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
 
 
int main(int argc, char *argv[])
{
        setlocale(LC_ALL, "rus");
        float x,y,z,r,f,line;
 
        printf("Введите радиус окружности:\n");
        scanf("%f", &r); // считываем радиус сферы
        printf("Введите абциссу точки x:\n");
        scanf("%f", &x); // считываем абсциссу точки
        printf("Введите ординату точки y:\n");
        scanf("%f", &y); // считываем ординату точки
        printf("Введите ординату прямой:\n");
        scanf("%f", &line);
        while(line>=r)
        {
            printf("Введите ординату прямой, которая пересекает окружность:\n");
            scanf("%f", &line);
        }
 
        f = pow(0-x,2)+pow(0-y,2); // x^2 + y^2
        if ( f<= pow(r,2)&&(y<=line))
        printf("Точка попала!");
        else  printf("Не попала((((\n");
 
    return 0;
}

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

  1. Устанавливаем локальную настройку на русскую раскладку клавиатуры.
  2. Объявляем переменные: x, y, z, r, f, line типа float.
  3. Запрашиваем у пользователя ввод радиуса окружности и сохраняем его в переменной r.
  4. Запрашиваем у пользователя ввод абсциссы точки x и сохраняем ее в переменной x.
  5. Запрашиваем у пользователя ввод ординаты точки y и сохраняем ее в переменной y.
  6. Запрашиваем у пользователя ввод ординаты прямой и сохраняем ее в переменной line.
  7. Пока значение переменной line больше или равно радиусу окружности r, выполняем следующие действия: Запрашиваем у пользователя ввод ординаты прямой, которая пересекает окружность и сохраняем ее в переменной line.
  8. Вычисляем значение переменной f как сумму квадратов абсциссы и ординаты точки (x^2 + y^2).
  9. Проверяем условие: если значение переменной f меньше или равно квадрату радиуса окружности r и ордината y меньше или равна значению переменной line, то выводим сообщение Точка попала!.
  10. В противном случае выводим сообщение Не попала(().
  11. Возвращаем 0, чтобы указать, что программа успешно завершилась.

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

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