Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/34: Рейтинг темы: голосов - 34, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 14
1

Определить, принадлежит ли точка с координатами x, y заштрихованной части плоскости

25.09.2011, 14:58. Показов 6625. Ответов 31
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста полному чайнику решить две задачки.

1) Даны действительные числа x1, y1, x2, y2. Вычислить min(x1, y1, x2, y2)+min(x1,x2,y1).

2) Даны вещественные числа x, y. Определить, принадлежит ли точка с координатами x, y заштрихованной части плоскости. Результат вывести в виде текстового сообщения. Представить варианты программы с использованием условного оператора if и тернарной условной операции.
Название: graph1.png
Просмотров: 415

Размер: 5.0 Кб
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2011, 14:58
Ответы с готовыми решениями:

Определить, принадлежит ли точка с координатами x, y заштрихованной части плоскости
Битый час сижу, но так и не могу ничего придумать, прошу помощи) Даны действительные числа x, y....

Определить, принадлежит ли точка с координатами (x,y) заштрихованной части плоскости
даны произвольные числа x,y.Определить, принадлежит ли точка с координатами (x,y) заштрихованной...

Определить, принадлежит ли точка с координатами х, у заштрихованной части плоскости
Нужно определить, принадлежит ли точка с координатами х, у заштрихованной части плоскости: Вот...

Определить, принадлежит ли точка с координатами x,y заштрихованной части плоскости
Определить, принадлежит ли точка с координатами x,y заштрихованной части плоскости

31
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
25.09.2011, 17:17 21
Author24 — интернет-сервис помощи студентам
И с тернарным оператором:


C
1
2
3
4
5
6
7
8
#include<stdio.h>
int main()
{
   double x, y;
   scanf("%lf%lf", &x, &y);
   (x >= 0 && x <= 2 && y >= 0 && y <= x/2.0) ? printf("yes") : printf("no");
   return 0;
}
1
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.09.2011, 17:22 22
Цитата Сообщение от Olga_ Посмотреть сообщение
Уравнение прямой y = x/2
Мм... Через уравнения прямой тоже можно, но я про произведения векторов
C++
1
2
3
4
5
6
7
int triangle_square_2 (int x1, int y1, int x2, int y2, int x3, int y3) {
    return x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2);
}
 
double triangle_square (int x1, int y1, int x2, int y2, int x3, int y3) {
    return abs (triangle_square_2 (x1, y1, x2, y2, x3, y3)) / 2.0;
}
Вот формула, как-то я недопонял, откуда она берется.
P.S. насчет произведения векторов - алгоритм тот же остается, просто точность не теряется. А у меня формула Герона используется, там квадратные корни...
0
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
25.09.2011, 17:25 23
diagon, площадь треугольника по формуле Герона никто не ищет, есть более простой способ:

https://www.cyberforum.ru/cgi-bin/latex.cgi?S = \frac{1}{2}|(x3-x1)(y2-y1)-(x2-x1)(y3-y1)|
0
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
25.09.2011, 17:27 24

Не по теме:

Цитата Сообщение от diagon Посмотреть сообщение
Но я как-то не въехал, как там формула получается
очень просто:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec V = \{V_x, V_y\}, \, \vec U = \{U_x, U_y\}
https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec V \otimes \vec U = \begin{vmatrix}<br />
V_x & V_y \\<br />
U_x & U_y<br />
\end{vmatrix}



Цитата Сообщение от Olga_ Посмотреть сообщение
diagon, площадь треугольника по формуле Герона никто не ищет, есть более простой способ
а это и есть:
Цитата Сообщение от diagon Посмотреть сообщение
Более кошерный способ - найти косое произведение векторов, и площадь получившегося параллелограмма поделить на 2
1
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
25.09.2011, 17:29 25
Цитата Сообщение от Olga_ Посмотреть сообщение
diagon, площадь треугольника по формуле Герона никто не ищет, есть более простой способ:

https://www.cyberforum.ru/cgi-bin/latex.cgi?S = \frac{1}{2}|(x3-x1)(y2-y1)-(x2-x1)(y3-y1)|
Ну в коде эта же формула, непонятно просто было, откуда она берется =\

Цитата Сообщение от Nameless One Посмотреть сообщение

Не по теме:


очень просто:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec V = \{V_x, V_y\}, \, \vec U = \{U_x, U_y\}
https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec V \otimes \vec U = \begin{vmatrix}<br />
V_x & V_y \\<br />
U_x & U_y<br />
\end{vmatrix}



Добавлено через 1 минуту

а это и есть:

Хм... Т.е. эта формула из определителя матрицы берется? Не думал, что геометрия и линейная алгебра как-то связаны... =)
0
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 14
25.09.2011, 17:43  [ТС] 26
Olga_, ещё раз спасибо!
0
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
25.09.2011, 17:54 27
Nameless One, вы про случай ориентированных мер пишите, ваша формула и моя не одно и тоже (без модуля).
1
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 14
25.09.2011, 17:55  [ТС] 28
Последний вопрос на эту неделю, честно-честно!

Написал кое-как программку, которая при A>0 и A<=PI считает y по одной формуле, а при A>PI по другой, она вроде компилится, работает, но при её запуске выскакивает сообщение "Run-Time Check Failure #3 - The variable 'r1' is being used without being initialized.". В чем может быть проблема?

Код
#define WIN32_LEAN_AND_MEAN
#include <stdio.h>
#include <tchar.h>
#include <conio.h>
#define _USE_MATH_DEFINES
#include <math.h>   
#include <iostream>
using namespace std;

int main()
   {
     double a, y, r1, r2, r3, r4;         
             
	 cout << "Vvedite a" << endl;
	 cin >> a;

	 if ((a>0) && (a<=M_PI))
	 
     r1=1-2*pow(sin(a),2);
	 r2=1+sin(2*a); 

	 y=r1/r2;
	 ;
            	
	 if ((a>M_PI))
	 
	 r3=1-tan(a);
	 r4=1+tan(a);
	 y=(r3/r4)+11;
	 ;

	 cout << y << endl;
    _getch();      
    return 0;
 }
0
848 / 190 / 18
Регистрация: 01.08.2011
Сообщений: 505
25.09.2011, 18:02 29
Цитата Сообщение от diagon Посмотреть сообщение
Не думал, что геометрия и линейная алгебра как-то связаны... =)
Они ОЧЕНЬ тесно связаны.
1
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
25.09.2011, 18:24 30
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от diagon Посмотреть сообщение
Т.е. эта формула из определителя матрицы берется? Не думал, что геометрия и линейная алгебра как-то связаны... =)
Определитель - это просто более удобная (и запоминающаяся) форма записи данного выражения. Формула же берется из определения:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec V \otimes \vec U = |\vec V| \cdot |\vec U| sin \alpha, \; \alpha - угол вращения от https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec V к https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec U
Можно легко доказать, что для разложения https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec V = \{V_x, V_y\}, \, \vec U = \{U_x, U_y\} в любом ортонормированном базисе https://www.cyberforum.ru/cgi-bin/latex.cgi?<\vec i, \vec j> будет верна и формула вычисления произведения через определитель.
Доказательство
Воспользуемся тем, что косое произведение линейно и антикоммутативно (подробнее - на википедию).
Очевидно, что для любого ортонормированного базиса https://www.cyberforum.ru/cgi-bin/latex.cgi?<\vec i, \vec j> будут выполняться следующие равенства: https://www.cyberforum.ru/cgi-bin/latex.cgi?|\vec i \otimes \vec j| = 1, \; \vec i \otimes \vec i = 0
Тогда верно следующее (положим для удобства, что угол поворота от https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec i до https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec j равен https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{\pi}{2}):
https://www.cyberforum.ru/cgi-bin/latex.cgi?\vec V \otimes \vec U = (V_x \vec i + V_y \vec j) \otimes (U_x \vec i + U_y \vec j) = (V_x \vec i + V_y \vec j) \otimes U_x \vec i + (V_x \vec i + V_y \vec j) \otimes U_y \vec j =
https://www.cyberforum.ru/cgi-bin/latex.cgi?= V_x U_x \vec i \otimes \vec i + V_y U_x \vec j \otimes \vec i + V_x U_y \vec i \otimes \vec j + V_y U_y \vec j \otimes \vec j = V_y U_x \vec j \otimes \vec i + V_x U_y \vec i \otimes \vec j =
https://www.cyberforum.ru/cgi-bin/latex.cgi? - \, V_y U_x \vec i \otimes \vec j + V_x U_y \vec i \otimes \vec j = (V_x U_y - V_y U_x) \vec i \otimes \vec j = V_x U_y - V_y U_x = \begin{vmatrix}<br />
V_x & V_y \\<br />
U_x & U_y<br />
\end{vmatrix}


Iternity, если в 18 строке не выполняется условие, то дальше переменная r1 не иницилизируется, но используется дальше в программе. Аналогично с условием в строке 26 и переменной r3. Думаю, тут не выделены условные блоки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#define WIN32_LEAN_AND_MEAN
#include <stdio.h>
#include <tchar.h>
#include <conio.h>
#define _USE_MATH_DEFINES
#include <math.h>   
#include <iostream>
using namespace std;
 
int main()
{
     double a, y, r1, r2, r3, r4;         
             
     cout << "Vvedite a" << endl;
     cin >> a;
 
     if ((a>0) && (a<=M_PI))
     {    
         r1=1-2*pow(sin(a),2);
         r2=1+sin(2*a); 
 
         y=r1/r2;
     }
                
     if ((a>M_PI))
     {    
         r3=1-tan(a);
         r4=1+tan(a);
         y=(r3/r4)+11;
     }
 
    cout << y << endl;
    _getch();      
    return 0;
 }
3
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
25.09.2011, 18:25 31
Цитата Сообщение от Olga_ Посмотреть сообщение
Nameless One, вы про случай ориентированных мер пишите, ваша формула и моя не одно и тоже (без модуля).
ну так на то косое произведение и определяет *ориентированную* площадь
0
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 14
25.09.2011, 18:27  [ТС] 32
Nameless One, помогло, спасибо!)
0
25.09.2011, 18:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2011, 18:27
Помогаю со студенческими работами здесь

Определить, принадлежит ли точка с координатами x, y заштрихованной части плоскости
Определить, принадлежит ли точка с координатами x, y заштрихованной части плоскости.

Определить принадлежит ли точка с координатами (x;y) заштрихованной части плоскости
Даны вещественные числа x и y. Определить принадлежит ли точка с координатами (x;y) заштрихованной...

Определить,принадлежит ли точка с координатами Х,У заштрихованной части плоскости
Помогите пожалуйста. За ранее спасибо. Даны целые числа Х и У. Определить, принадлежит ли точка с...

Определить, принадлежит ли точка с координатами x,y заштрихованной части плоскости
Даны вещественные числа x и y. Определить, принадлежит ли точка с координатами(x; y)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru