• Предмет: Информатика
  • Автор: Ksusha133
  • Вопрос задан 4 месяца назад

Пожалуйста решите на языке С++

Решил начинающий программист Вася Битиков ланшафтным дизайном заняться - оформить бабушкину клумбу оригинальным узором, очень уж бабушка Рита цветы любит.

Купил Вася в магазине рассаду – желтенькие маргаритки (M) и синенькие васильки (W), начертил план клумбы, разбил его на горизонтальные (H) и вертикальные (V) строки и в каждой клеточке соответствующий цветок нарисовал. А чтобы весь рисунок не запоминать он программку написал, которая по номерам только некоторых строк (V1, V2, H1, H2) и координат ячейки (V0 и H0) определяет какой цветок должен расти в этом месте клумбы.

Попробуйте и вы такое приложение написать.
Учтите, нумерация вертикальных строк начинается с крайней левой, номер которой равен нулю, а горизонтальных – с самой высокой строки, номер которой также равен нулю.

Входные данные:

В первой строке входного потока 2 натуральные числа разделены пробелом V1, V2 – координаты вертикальных строк
(0 < V1 < V2 < 100)
Во второй строке 2 натуральные числа разделены пробелом H1, H2 – координаты горизонтальных строк
(0 < H1 < H2 < 100)
В третьей строке 2 натуральные числа разделены пробелом Vo, Ho – координаты ячейки, для которой нужно определить вид цветка
(0 < Vo, Ho < 100)

Пример входящего файла (input.txt):
7 11
5 12
6 4

Исходящие данные:
В исходный поток необходимо вывести одну заглавную латинскую букву, обозначающую вид цветка: M – маргаритку, или W – василька.

Пример исходящего файла (output.txt):
W

Приложения:

Ответы

Ответ дал: Alt0l
1

Відповідь:

#include <iostream>

using namespace std;

int main() {

   int v1, v2, h1, h2, vo, ho;

   char flower;

   cin >> v1 >> v2 >> h1 >> h2 >> vo >> ho;

   if ((vo >= v1 && vo <= v2) || (ho >= h1 && ho <= h2)) {

       if ((vo + ho) % 2 == 0) {

           flower = 'M';

       } else {

           flower = 'W';

       }

   } else {

       flower = ' ';

   }

   cout << flower << endl;

   return 0;

}

Пояснення:

Данный код считывает входные данные - координаты вертикальных строк, горизонтальных строк и ячейки, для которой нужно определить цветок. Затем проверяет, попадает ли ячейка в указанные границы строк, и определяет цветок на основе суммы её координат (если сумма чётная - это маргаритка, нечётная - васильок).

Результат выводится в стандартный поток вывода. В данном случае выводится одна заглавная латинская буква - M или W - в зависимости от определённого цветка.


Ksusha133: а можно как то по другому? Ошибку выдает
Ответ дал: Mirox921
0

Код:

#include <iostream>

using namespace std;

int main()

{

   int v1, v2, h1, h2, vo, ho;

   cin >> v1 >> v2 >> h1 >> h2 >> vo >> ho;

   if ((vo >= v1 && vo <= v2) || (ho >= h1 && ho <= h2)) {

       if ((vo + ho) % 2 == 0) {

           cout << "M" << endl;

       } else {

           cout << "W" << endl;

       }

   } else {

       cout << "Координати знаходяться за межами зазначеної області." << endl;

   }

   return 0;

}

Вас заинтересует