
. а) Разборчивая невеста при выборе жениха руководствуется правилом: «жених должен быть старше ее,
но не намного». По известным возрастам: невесты – N лет, женихов R1 лет, R2 лет, R3 лет– определить, которого она выберет– первого второго или третьего.

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

var r: array [1..10] of integer;
nev, n, min,i, zap:integer;
begin
clrscr;
write('Введите возраст невесты: '); readln(nev);
write('Введите число женихов: '); readln(n);
if n<2 then
for i:=1 to n do
begin
write('Введите возраст ',i,'-го жениха: '); readln(r[i]);
end;
i:=0; zap:=0;
while (zap=0) and (i<=n) do begin
i:=i+1;
min:=nev-r[i];
if min>0 then zap:=i;
end;
if i<>n then
begin
for i:=zap to n do
begin
if min>(nev-r[i]) then
begin
zap:=i;
min:=nev-r[i];
end;
end;
writeln('Самый молодой жених старше невесты в возрасте ',r[zap], ' лет. Разница в возрасте составляет ', min, ' лет.');
writeln ('По счету это ',i,'-ый жених');
end
else writeln('Среди женихов нет подходящего для нашей невесты.');
end;
else writeln('Число женихов должно быть более 2!');
end.



Для решения данной задачи нам необходимо определить, какой из женихов удовлетворяет условию, что он должен быть старше невесты, но не намного.
Для начала, определим возрастную разницу между невестой и каждым из женихов: - Для первого жениха: разница в возрасте будет равна R1 - N лет - Для второго жениха: разница в возрасте будет равна R2 - N лет - Для третьего жениха: разница в возрасте будет равна R3 - N лет
Согласно условию задачи, невеста выберет того жениха, возрастная разница с которым будет наименьшей, но при этом он должен быть старше нее.
Теперь рассмотрим возможные варианты: 1) Если все три разницы в возрасте положительны (R1 - N > 0, R2 - N > 0, R3 - N > 0), то невеста выберет того жениха, у которого разница в возрасте минимальна. То есть, если R1 - N < R2 - N и R1 - N < R3 - N, то невеста выберет первого жениха. Аналогично, если R2 - N < R1 - N и R2 - N < R3 - N, то невеста выберет второго жениха. И, наконец, если R3 - N < R1 - N и R3 - N < R2 - N, то невеста выберет третьего жениха. 2) Если все три разницы в возрасте отрицательны (R1 - N < 0, R2 - N < 0, R3 - N < 0), то невеста не выберет ни одного жениха, так как все они моложе нее. 3) Если одна из разниц в возрасте положительна, а остальные отрицательны, то невеста выберет того жениха, у которого разница в возрасте положительна. Например, если R1 - N > 0, R2 - N < 0 и R3 - N < 0, то невеста выберет первого жениха.
Таким образом, чтобы определить, какого из женихов выберет невеста, необходимо сравнить разницы в возрасте между невестой и каждым из женихов. Если все разницы положительны, выбирается минимальная из них. Если все разницы отрицательны, невеста не выбирает ни одного жениха. Если одна разница положительна, а остальные отрицательны, выбирается жених с положительной разницей в возрасте.


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








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