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

Напишите решение задачи на языке С (си).
Если сумма трёх попарно различных чисел меньше 1, то наименьшее из них заменить полусуммой других, а наибольшее - полуразностью двух других.

Показать ответ
Ответ:
blablaloshka
blablaloshka
16.12.2022 00:44

#include <iostream>

#define min(a,b) ((a)<(b)?(a):(b))

#define max(a,b) ((a)>(b)?(a):(b))

using namespace std;

double distance(double x1, double y1, double x2, double y2)

{

return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));

}

int main() {

double ax, ay, bx, by, cx, cy;

double ab, ac, bc;

cout << "A: ";

cin >> ax >> ay;

cout << "B: ";

cin >> bx >> by;

cout << "C: ";

cin >> cx >> cy;

ab = distance(ax, ay, bx, by);

bc = distance(bx, by, cx, cy);

ac = distance(ax, ay, cx, cy);

// Используем свойство тупоугольности треугольника: a^2+b^2<c^2

if ((ab * ab + bc * bc < ac * ac) || (ab * ab + ac * ac < bc * bc) || (bc * bc + ac * ac < ab * ab))

{

 // Площадь по формуле Герона

 double hp = (ab + ac + bc) / 2; // Полупериметр

 cout << "Square: " << sqrt(hp * (hp - ab) * (hp - ac) * (hp - bc)) << endl;

 cout << max(max(ab, ac), bc) << ", "

  << (ab + ac + bc - min(min(ab, ac), bc) - max(max(ab, ac), bc)) << ", "

  << min(min(ab, ac), bc);

}

else cout << "Entered points cannot be vertices of an obtuse triangle";

return 0;

}

0,0(0 оценок)
Ответ:
Rigina1984
Rigina1984
06.10.2021 14:51

const N = 7;

const MAX = 10;

var a,b,c: array [1..N] of integer;

var d: array [1..N] of boolean;

var i,j,k,flag: integer;

begin

// Автозаполнение

randomize();

for i:=1 to N do  

 begin

 a[i]:=random(MAX+1);

 b[i]:=random(MAX+1);

 c[i]:=random(MAX+1);

 d[i]:=false;

 end;

 

// Вывод на экран

write('Массив a: ');

for i:=1 to N do write(a[i],' ');

write(сhr(10),'Массив b: ');

for i:=1 to N do write(b[i],' ');

write(сhr(10),'Массив c: ');

for i:=1 to N do write(c[i],' ');

// Поиск элементов, принадлежащих всем 3м массивам

write(сhr(10),'Элементы, принадлежащие всем трем массивам: ');

for i:=1 to N do

 begin

 flag:=0;

   // Следующий цикл проверяет, есть ли элемент a[i]

   // в массиве b.

   for j:=1 to N do

     begin

       if (a[i]=b[j]) then  

         begin  

         flag:=flag+1;

         break;

         end;

     end;

   // Следующий цикл проверяет, есть ли элемент a[i]

   // в массиве c.

   for j:=1 to N do

     begin

       if (a[i]=c[j]) then  

         begin  

         flag:=flag+1;

         break;

         end;

     end;

   // Если элемент найдет во всех трех массивах, в массиве d

   // указывается, что данный элемент уже найден

   if (flag=2) then d[i]:=true;

   

   // В следующем цикле проверяется, был ли уже в массиве a  

   // элемент a[i]. Если был, и если он есть во всех трех массивах

   // (условие d[k]), то флаг обнуляется и элемент не выводится  

   if (i>0) and (flag=2) then  

     for k:=i-1 downto 1 do

       if (a[k]=a[i]) and (d[k]) then flag:=0;

   if (flag=2) then write(a[i],' ');

   end;

end.

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