Определить номер четверти плоскости, в которой находится точка с координатами X и Y , причем XY != 0. Координаты вводить с клавиатуры.
С этой задачей, думаю всем все понятно. Нас ещё в пятом классе научили, как работать с координатной плоскостью. Дам одну подсказку: «Обратите внимание на знаки координат».
Введите координату X: -2
Ведите координату Y: 5
II четверть плоскости
#include <iostream>
using namespace std;
int main()
{
cout << "\t\tНомер четверти плоскости с координатами\n" << endl;
int x, y;
cout << "Введите координату X: ";
cin >> x;
cout << "\n\nВедите координату Y: ";
cin >> y;
if (x != 0 && y != 0)
{
if (x > 0 && y > 0)
{
cout << "\n\nI четверть плоскости\n\n";
}
if (x < 0 && y > 0)
{
cout << "\n\nII четверть плоскости\n\n";
}
if (x < 0 && y < 0)
{
cout << "\n\nIII четверть плоскости\n\n";
}
if (x > 0 && y < 0)
{
cout << "\n\nIV четверть плоскости\n\n";
}
}
else
cout << "\n\nПроизведение координат не должно равнять 0!!!\n\n";
return 0;
}
Ниже смотрим второй способ решения данной задачи. Это решение нам предоставил пользователь нашего сайта — Dred. Как всегда, его исходный код сопровождается многочисленными комментариями, прочитав которые, код становится достаточно понятным, даже начинающим программистам.
// определение принадлежности координат квадрантам коорд. плоскости
#include <iostream> // подключаем заголовочный файл с объектами ввода/вывода
#include <locale> // подключаем заголовочный файл для локализации
using std::cout; // определяем в стандартном пространстве имен объекты ввода и вывода
using std::cin;
int main()
{
setlocale(LC_ALL, "Russian");/* функция установки локали
int x(0),y(0); // вводимые координаты
char ch='y'; // переменная цикла
while(ch=='y') // цикл ввода
{
cout<<"\n Введите координаты (2-х значные натуральные числа) точки";
cout<<"\n X= ";
cin>>x;
cout<<"\n Y= ";
cin>>y;
if (x*y>0) // определяемся с парами квадрантов
{
if (x>0) cout << "\n Координаты принадлежат 1-му квадранту"; // определяемся конкретно с квадрантом
else cout << "\n Координаты принадлежат 3-му квадранту";
}
else
{
if (x > 0) cout << "\n Координаты принадлежат 4-му квадранту";
else
cout << "\n Координаты принадлежат 2-му квадранту";
}
cout<<"\n Повторить ввод y/n ";
cin>>ch;
}
return 0;
}
Логика решение немного отличается от первого исходника, исходник простой, так что все должно быть понятно. Также в программе использовалась функция настройка локали, цитирую автора (Dred) программы: «Функция установки локали подробно расписана на этом же сайте в разделе: справочник->cтандартные заголовочные файлы из Си в С++». Результат работы программы смотрим ниже.
Введите координаты (2-х значные натуральные числа) точки
X= -6
Y= 10
Координаты принадлежат 2-му квадранту
Повторить ввод y/n y
den@AR2-D2:~$ '/home/den/prog/Qt_SDK/tt-build-desktop-Qt___PATH______/tt'
Введите координаты (2-х значные натуральные числа) точки
X= -6
Y= 10
Координаты принадлежат 2-му квадранту
Повторить ввод y/n y
Введите координаты (2-х значные натуральные числа) точки
X= 11
Y= 12
Координаты принадлежат 1-му квадранту
Повторить ввод y/n n