olgalooo
?>

Практикум информатика и икт. (том 1) авторы - л. а. залогов, м. а. пласкин, с. в. русаков и на стр. 52 - 19, 20 и 21 решить .

Информатика

Ответы

tnkul
Type
  num=double; { в этом месте можно сменить тип на иной }

function Legal(a,b,c:num):boolean;
  { возвращает True, если из отрезков длиной a,b,c
    можно построить треугольник }
begin
  Legal:=(a+b>c) and (a+c>b) and (b+c>a)
end;

function Med(a,b,c:num):num;
  { возвращает длину медианы, проведенную к стороне а }
begin
  Med:=sqrt(2*(sqr(b)+sqr(c))-sqr(a))/2
end;

procedure Med3(a,b,c:num; var m1,m2,m3:num);
  { возвращает длины m1,m2,m3 всех медиан треугольника,
    построенного из отрезков длиной a,b,c.
    При этом m1- длина медианы, проведенной к стороне а,
    m2- дилна медианы,проведенной к стороне b и т.д.
    Если треугольник построить нельзя, m1=m2=m3=0 }
begin
  if Legal(a,b,c) then
  begin m1:=Med(a,b,c); m2:=Med(b,a,c); m3:=Med(c,a,b) end
  else begin m1:=0; m2:=0; m3:=0 end
end;

{ основная программа }
var
  a,b,c,m1,m2,m3:num;
begin
  Write('Введите длины сторон треугольника: '); Readln(a,b,c);
  Med3(a,b,c,m1,m2,m3);
  if m1>0 then begin
    Med3(m1,m2,m3,m1,m2,m3);
    if m1>0 then Writeln('Длины медиан: ',m1,', ',m2,', ',m3)
    else Writeln('Из полученных медиан нельзя построить треугольник.')
    end
  else
    Writeln('Невозможно построить треугольник с такими сторонами.')
end.

Тестовое решение:
Введите длины сторон треугольника: 14.3 18.9 8.6
Длины медиан: 10.725, 14.175, 6.45
druzhbamagazin2457
Class Sort25{
 public static void main(String[] args) throws java.io.IOException{
  int c, n = 0, array[];
  while((c = System.in.read())==13 || (47<c && c<58 && (n = n*10+c-48)>-1));
  if(25<n || c!=10)return;
  array = new int[n];
  for(c = 0; c<n; c++){
   int d = 0; boolean negative = false;
   while((d = System.in.read())!=10)
    if(47<d && d<58)array[c] = array[c]*10+d-48;
    else if(d==45)negative = true;
   if(negative)array[c]*=-1;
  }
  sortArray(array);
  for(c = 0; c<n; c++)System.out.print(array[c]+" ");
 }
 private static void sortArray(int[] array){
  for(int c = 0; c<array.length-1; c++){
   int b = c, e;
   for(int d = c+1; d<array.length; d++)
    if(array[d]>array[b])b=d;
   e = array[c];
   array[c] = array[b];
   array[b] = e;
  }
 }
}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Практикум информатика и икт. (том 1) авторы - л. а. залогов, м. а. пласкин, с. в. русаков и на стр. 52 - 19, 20 и 21 решить .
Ваше имя (никнейм)*
Email*
Комментарий*