Символы кириллицы выводит некорректно. Как сделать чтобы выводился читабельный текст на русском языке? Тип приложения - не Qt, Qt Creator 4.5.0 основан на Qt 5.10.0. Win7.
|
Операторы управления
Задача 3.2. Даны вещественные числа и . Определить, принадлежит ли точка с координатами () заштрихованной области (рис. 3.12).
Как показано на рис. 3.12, область ограничена линиями и . Значит точка с координатами () будет принадлежать этой области, если будут выполняться следующие условия: и . Иначе точка лежит за пределами области.
Блок-схема, описывающая алгоритм решения данной задачи, представлена на рис. 3.13.
Текст программы к задаче 3.2:
#include <iostream> using namespace std; int main ( ) { float X,Y; cout<<" X = "; cin >>X; cout<<" Y = "; cin >>Y; if (X>=-1 && X<=3 && Y>=-2 && Y<=4) cout <<"Точка принадлежит области"<< endl; else cout<<"Точка не принадлежит области"<<endl; return 0; }
Задача 3.3. Даны вещественные числа и . Определить, принадлежит ли точка с координатами () заштрихованной области (рис. 3.14).
Составим уравнения линий, ограничивающих заданные области. В общем виде уравнение прямой, проходящей через точки с координатами () и (), имеет вид:
Треугольник в первой координатной области ограничен линиями, проходящими через точки:
- (0, 1) - (4, 3);
- (4, 3) - (5, 1);
- (5, 1) - (0, 1).
Следовательно, уравнение первой линии:
уравнение второй линии:
и уравнение третьей линии: .
Линии, которые формируют треугольник во второй координатной области, проходят через точки:
- (0, 1) - (-4, 3);
- (-4, 3) - (-5, 1);
- (-5, 1) - (0, 1);
Следовательно, уравнение первой линии:
уравнение второй линии:
и уравнение третьей линии: .
Таким образом, условие попадания точки в заштрихованную часть плоскости имеет вид:
Далее приведён текст программы для решения задачи 3.3.
#include <iostream> using namespace std; int main ( ) { float X,Y; cout<<" X = "; cin >>X; cout<<" Y = "; cin >>Y; if ( (Y<=1+( float ) 1/2 *X && Y<=-2*X+11 && Y>=1) | | (Y<=1-( float ) 1/2 *X && Y<=2*X+11 && Y>=1)) cout <<"Точка принадлежит области"<< endl; else cout<<"Точка не принадлежит области"<< endl; return 0; }