Решить эту по программировании , с++ в театре работает n актеров. известно, что среди них a высоких, b голубоглазых и с блондинов. для главной роли в новом спектакле режиссеру требуется только один высокий голубоглазый блондин. чтобы спланировать свое время для беседы с каждым таким артистом из труппы театра, режиссеру необходимо узнать, какое максимальное или какое минимальное количество артистов из работающих в театре подходит для этой роли. требуется написать программу, которая по заданным числам n, a, b и с определяет минимальное или максимальное количество актеров, с которыми режиссер должен переговорить. входные данные первая строка содержит одно число, которое задает, минимальное или максимальное количество актеров необходимо найти в данном тесте. это число может принимать следующие значения: 1, если в данном теcте требуется определить минимальное количество актеров; 2, если в данном тесте требуется определить максимальное количество актеров. вторая строка содержит четыре целых числа: n, a, b, с (1 ≤ n ≤ 10000, 0 ≤ a, b, c ≤ n). выходные данные вывести одно число - минимальное или максимальное (в зависимости от входных данных) количество актеров, которые могут претендовать на главную роль в новом спектакле. пояснения к примерам в первом примере, поскольку высоких актеров всего трое, то на главную роль не может подойти больше трех человек. во втором примере все актеры – блондины и все, кроме одного – голубоглазые. тогда среди трех высоких актеров найдутся хотя бы два голубоглазых (и, естественно, они будут блондинами). следовательно, минимум два актера точно подойдут на главную роль в новом спектакле. входные данные #1 2 5 3 4 5 выходные данные #1 3 входные данные #2 1 5 3 4 5 выходные данные #2 2 как найти максимальное знаю, как найти минимальное количество. заранее !
Ответы на вопрос:
#include <stdio.h>
#define N 2
double matrix[N][N] = {
{ 1.0, 2.0 },
{ 3.0, 4.0 }
};
unsigned long long find_min_max()
{
double max = matrix[0][0];
int line_max = 0;
double min = matrix[0][0];
int column_min = 0;
for( int i = 0; i < N; ++i ) {
for( int j = 0; j < N; ++j ) {
if( matrix[i][j] > max ) {
max = matrix[i][j];
line_max = i;
}
if( matrix[i][j] < min ) {
min = matrix[i][j];
column_min = j;
}
}
}
return ((unsigned long long)line_max << 32) + (unsigned long long)column_min;
}
double calc_product(int line, int column)
{
double sum = 0.0;
for( int i = 0; i < N; ++i ) {
sum += matrix[i][column] * matrix[line][i];
}
return sum;
}
int main() {
unsigned long long line_max = find_min_max();
unsigned long long column_min = line_max & 0x;
line_max >>= 32;
double product = calc_product((int)line_max, (int)column_min);
printf("product = %f\n", product);
return 0;
}
Объяснение:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Doloeris20.04.2023 08:38
-
nurganym120.04.2022 11:26
-
girlgood223.01.2021 12:50
-
chalenkotaya02.07.2021 19:51
-
DaniilEzhov03605.10.2021 04:04
-
dadhhcdgg11.02.2020 21:14
-
madam795230.01.2021 11:16
-
Bened12.04.2020 14:51
-
Kristin3219.12.2022 09:56
-
МарияЛобачева11.08.2020 02:57
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.