Проверка попадания точки в область на плоскости - C (СИ) (72432)

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

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

Всем привет, помогите составить программу для лабораторной, не справляюсь. Для функции (на картинке 1) составить программу построения таблицы значений функции, состоящую из n строк при изменении аргументов от A до B. В каждой строке выводить значение аргумента x и соответствующие ему значение функции y в форматированном виде с 4 знаками после запятой.В конце таблицы отдельной строкой вывести среднее арифметическое всех значений функции. -Кроме того, программа должна определить, сколько точек с координатами( x,y) из полученной таблицы попадает внутрь области, ограниченной фигурой( на картинке 2).

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

textual
Листинг программы
  1. #include<conio.h>
  2. #include<stdio.h>
  3. #include<math.h>
  4. #include<stdlib.h>
  5.  
  6. #define N 2//How many times
  7. #define A 1//initial value
  8. #define B 9//the last value
  9. #define STEP 1//the different between the last and previous values
  10.  
  11. main()
  12. {
  13.  
  14. double x,y;
  15. double e=2.1718281828;
  16. int numbers=0;
  17. double sum=0;
  18. double arif=0;
  19.  
  20. x=A;
  21.  
  22. for(int i=0; i < N && fabs(x) < B; i++)
  23. {    
  24. y=x*pow(e,x)+2*sin(x)-sqrt(fabs(pow(x,3)-pow(x,2)));
  25. printf("X is %f\tY is %.4f\n",x,y);
  26. numbers++;
  27. sum+=y;
  28. x+=STEP;
  29. }
  30.  
  31. arif=(double)sum/numbers;
  32. printf("Arifm: %f",arif);
  33.  
  34. getch();
  35. }
  36.  
  37.  
  38. int IsThere(double x, double y)
  39. {
  40. if(x > 0)
  41. {
  42. if(y < 1 && y > 0)return 1;    
  43. }
  44. else if(x < 0)
  45. {
  46. if(sqrt(pow(x,2)+pow(y,2)) < 1)return 1;      
  47. }
  48.  
  49. return 0;
  50. }

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

  1. Объединение всех необходимых заголовочных файлов
  2. Определение констант N, A, B и STEP
  3. Создание переменных x, y, e, numbers, sum, arif
  4. Инициализация значения переменной x как A
  5. Запуск цикла for для выполнения N итераций
  6. Внутри цикла вычисление значения y с использованием формулы y = xpow(e,x)+2sin(x)-sqrt(fabs(pow(x,3)-pow(x,2)))
  7. Вывод значений x и y на экран
  8. Увеличение значения переменной numbers на 1
  9. Добавление значения y к сумме sum
  10. Увеличение значения переменной x на STEP
  11. Проверка условия для остановки цикла (fabs(x) < B)
  12. После выполнения цикла вычисление значения arif как среднее арифметическое sum и numbers
  13. Вывод значения arif на экран
  14. Определение функции IsThere для проверки попадания точки в область на плоскости
  15. Проверка условия для положительного значения x
  16. Проверка условия для отрицательного значения x
  17. Возврат значения 1, если точка находится в области, и 0 в противном случае
  18. Вызов функции IsThere с заданными значениями x и y
  19. Вывод результата проверки на экран
  20. Ожидание нажатия клавиши для завершения программы

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


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

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

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

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

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

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