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

Delfi 2 Визначити робітника з мах зарплатнею й надрукувати усі відомості про нього.

Показать ответ
Ответ:
Tkora
Tkora
09.10.2020 01:29

using System;

namespace ConsoleApp1

{

   class Program

   {

       static void Main(string[] args)

       {

           int a, b, c;

           Console.Write("Введите a: ");

           a = Convert.ToInt32(Console.ReadLine());

           Console.Write("Введите b: ");

           b = Convert.ToInt32(Console.ReadLine());

           Console.Write("Введите c: ");

           c = Convert.ToInt32(Console.ReadLine());

           if ((a+b<c)||(a+c<b)||(b+c<a)) Console.WriteLine("Такого треугольника не существует!");

           else

           {

               if ((c*c==a*a+b*b)||(b*b==a*a+c*c)||(a*a==b*b+c*c))

                   Console.WriteLine("Треугольник существует. Он прямоугольный.");

               else

                   Console.WriteLine("Треугольник существует. Он непрямоугольный.");

           }

       }

   }

}

0,0(0 оценок)
Ответ:
Ro4KKy
Ro4KKy
08.02.2020 13:29

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

Если все элементы последовательности положительные, то очевидно, что минимальное произведение – это произведение двух минимальных элементов последовательности. Если же все элементы последовательности отрицательные, то как ни странно, минимальное произведение дадут два максимальных элемента последовательности (так как они по модулю ближе всех к нулю, а минус на минус даёт плюс).

Таким образом, получается, что нам необходимо найти в последовательности два максимальных и два минимальных элемента, а потом выбрать минимальное произведение из трёх. Для одновременного поиска двух максимальных элементов можно использовать стратегию «турнирной таблицы». После считывания каждого элемента нужно будет сравнивать его с текущими значениями первого и второго максимума, и разбирать случаи. Их будет три. Первый случай – очередной элемент последовательности больше текущего значения первого максимума. Тогда нужно первый максимум опустить на вторую позицию, а на первую позицию записать новый элемент. Второй случай – элемент не больше первого максимума (возможно, что равен ему), но больше второго. Тогда первый максимум не изменяется, а на вторую позицию записывается считанный элемент. Третий случай – элемент не больше второго максимума (возможно, что равен ему). В этом случае нам не нужно предпринимать никаких действий. Минимумы ищутся аналогично.

Остаётся последний вопрос  – какие начальные значения задать максимумам и минимумам.  По аналогии с задачей № 2 в максимумы нужно записывать числа, которые гарантированно меньше любого элемента последовательности, а в минимумы – числа, которые гарантированно больше любого элемента последовательности.  

var a,max1,max2,min1,min2,p:integer;

begin

max1 := -10001;

 max2 := -10001;

 min1 := 10001;

 min2 := 10001;

 read(a);

while a <> 0 do begin

   if a > max1

then begin

max2 := max1;

     max1 := a

end

   else if a > max2 then max2 := a;

if a < min1

then begin

min2 := min1;

      min1 := a

end

    else if a < min2 then min2:=a;

    read(a)

end;

 p := max1 * min1;

if max1 * max2 < p then p := max1 * max2;

if min1 * min2 < p then p := min1 * min2;

writeln(p)

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота