Проверка попадания точки в область на плоскости - 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
- Вывод результата проверки на экран
- Ожидание нажатия клавиши для завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д