
Красный, синий и желтый называются основными цветами, потому что их нельзя получить путем смешения
других цветов. При смешивании двух основных цветов получается вторичный цвет: если смешать красный и синий, то получится фиолетовый;если смешать красный и желтый, то получится оранжевый;если смешать синий и желтый, то получится зеленый.Напишите программу, которая считывает названия двух основных цветов для смешивания. Если пользователь вводит что-нибудь помимо названий «красный», «синий» или «желтый», то программа должна вывести сообщение об ошибке. В противном случае программа должна вывести название вторичного цвета, который получится в результате.Формат входных данныхНа вход программе подаются две строки, каждая на отдельной строке.Формат выходных данныхПрограмма должна вывести полученный цвет смешения либо сообщение «ошибка цвета», если введён был не цвет.Примечание 1. Если смешать красный и красный, то получится красный и т.д.

Ответы на вопрос

Ответ:
// код написан на языке C#
using System;
namespace coloradds
{
class Program
{
static void Main(string[] args)
{
string[] maincolors = new string[3] { "красный", "синий", "желтый" };
string color1 = Console.ReadLine();
string color2 = Console.ReadLine();
if (Array.IndexOf(maincolors, color1) == -1 || Array.IndexOf(maincolors, color2) == -1)
{
Console.WriteLine("ошибка цвета");
} else
{
if(color1 == color2) Console.WriteLine(color1);
else
{
if((color1 == maincolors[0] && color2 == maincolors[1]) || (color1 == maincolors[1] && color2 == maincolors[0]))
{
Console.WriteLine("фиолетовый");
}
if ((color1 == maincolors[0] && color2 == maincolors[2]) || (color1 == maincolors[2] && color2 == maincolors[0]))
{
Console.WriteLine("оранжевый");
}
if ((color1 == maincolors[2] && color2 == maincolors[1]) || (color1 == maincolors[1] && color2 == maincolors[2]))
{
Console.WriteLine("зеленый");
}
}
}
Console.ReadKey();
}
}
}
Объяснение:
- using System; - подключаем стандартную библиотеку для работы с консолью
string[] maincolors = new string[3] { "красный", "синий", "желтый" };
Создаем массив типа в котором будут хранится основные цвета.
В переменные типа string color1, color2 с консоли в водим название цвета с помощью конструкции:
- string color1 = Console.ReadLine();
- string color2 = Console.ReadLine();
Функция Array.IndexOf(maincolors, color1) позволяет найти в массиве элемент и возвращает его индекс и если индекс не найден, то функция вернет минус единицу, то есть если веденной строке есть неверно введенный цвет или другое слово, то программа выдаст единицу сработает if и программа напечатает, что есть «ошибка цвета» (Console.WriteLine("ошибка цвета");).
Если программа не обнаружила ошибки цвета, то попадаем в else.
- if(color1 == color2) Console.WriteLine(color1);
Данная строчка проверят ввод одинаковых цветов и если это так, то программа выводит данный цвет и по-сути заканчивает свою работу, а если нет, то мы попадаем в else.
Условие if записано следующим образом:
if((color1 == maincolors[0] && color2 == maincolors[1]) || (color1 == maincolors[1] && color2 == maincolors[0]))
У нас возможна комбинация ввода:
- красный и синий
- синий и красный
И если это так хотя бы одна из комбинаций, то есть логическое или
(||), то выполняем if и выводим в консоль соответствующий цвет.
Для проверки берем конкретный цвет из массива maincolors, то есть пишем maincolors[i], где i тот цвет который нам необходим.
Аналогично написаны и два последrющих if.
В конце строчка Console.ReadKey(); написана для того, что консоль сразу не закрывалась после выполнения программы.
#SPJ3



Для решения этой задачи можно использовать следующую программу на Python:
python# Считываем названия двух основных цветов
color1 = input()
color2 = input()
# Создаем множество с допустимыми названиями основных цветов
primary_colors = {"красный", "синий", "желтый"}
# Проверяем, что введенные названия находятся в множестве допустимых цветов
if color1 in primary_colors and color2 in primary_colors:
# Определяем вторичный цвет
if color1 == color2:
secondary_color = color1
elif (color1 == "красный" and color2 == "синий") or (color1 == "синий" and color2 == "красный"):
secondary_color = "фиолетовый"
elif (color1 == "красный" and color2 == "желтый") or (color1 == "желтый" and color2 == "красный"):
secondary_color = "оранжевый"
elif (color1 == "синий" and color2 == "желтый") or (color1 == "желтый" and color2 == "синий"):
secondary_color = "зеленый"
# Выводим результат
print(secondary_color)
else:
print("ошибка цвета")
Пример работы программы:
синий красный фиолетовый
красный желтый оранжевый
зеленый оранжевый ошибка цвета


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili