Проверка попадания точки в область на плоскости - C (СИ) (72432)
Формулировка задачи:
Всем привет, помогите составить программу для лабораторной, не справляюсь.
Для функции (на картинке 1) составить программу построения таблицы значений функции, состоящую из n строк при изменении аргументов от A до B.
В каждой строке выводить значение аргумента x и соответствующие ему значение функции y в форматированном виде с 4 знаками после запятой.В конце таблицы отдельной строкой вывести среднее арифметическое всех значений функции.
-Кроме того, программа должна определить, сколько точек с координатами( x,y) из полученной таблицы попадает внутрь области, ограниченной фигурой( на картинке 2).
Решение задачи: «Проверка попадания точки в область на плоскости»
textual
Листинг программы
#include<conio.h> #include<stdio.h> #include<math.h> #include<stdlib.h> #define N 2//How many times #define A 1//initial value #define B 9//the last value #define STEP 1//the different between the last and previous values main() { double x,y; double e=2.1718281828; int numbers=0; double sum=0; double arif=0; x=A; for(int i=0; i < N && fabs(x) < B; i++) { y=x*pow(e,x)+2*sin(x)-sqrt(fabs(pow(x,3)-pow(x,2))); printf("X is %f\tY is %.4f\n",x,y); numbers++; sum+=y; x+=STEP; } arif=(double)sum/numbers; printf("Arifm: %f",arif); getch(); } int IsThere(double x, double y) { if(x > 0) { if(y < 1 && y > 0)return 1; } else if(x < 0) { if(sqrt(pow(x,2)+pow(y,2)) < 1)return 1; } return 0; }
Объяснение кода листинга программы
- Объединение всех необходимых заголовочных файлов
- Определение констант N, A, B и STEP
- Создание переменных x, y, e, numbers, sum, arif
- Инициализация значения переменной x как A
- Запуск цикла for для выполнения N итераций
- Внутри цикла вычисление значения y с использованием формулы y = xpow(e,x)+2sin(x)-sqrt(fabs(pow(x,3)-pow(x,2)))
- Вывод значений x и y на экран
- Увеличение значения переменной numbers на 1
- Добавление значения y к сумме sum
- Увеличение значения переменной x на STEP
- Проверка условия для остановки цикла (fabs(x) < B)
- После выполнения цикла вычисление значения arif как среднее арифметическое sum и numbers
- Вывод значения arif на экран
- Определение функции IsThere для проверки попадания точки в область на плоскости
- Проверка условия для положительного значения x
- Проверка условия для отрицательного значения x
- Возврат значения 1, если точка находится в области, и 0 в противном случае
- Вызов функции IsThere с заданными значениями x и y
- Вывод результата проверки на экран
- Ожидание нажатия клавиши для завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д