М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
EdiNoRoShKa228
EdiNoRoShKa228
03.07.2021 09:50 •  Информатика

Найти периметр n-угольника, заданного на плоскости координатами своих вершин. (написать функцию для нахождения длины стороны n-угольника). паскаль, через функции пользователя.

👇
Ответ:
bnmlkru
bnmlkru
03.07.2021
Program n1;
var
i, n: integer;
x,y : array[1..100] of integer;
per: real;
function dlina(x1,x2,y1,y2 : integer) : real;
begin
dlina := sqrt(sqr(x2-x1) + sqr(y2-y1));
end;
begin
write('введите кол-во сторон: ');
readln(n);
per := 0;
write('введите x1 координату: ');
readln(x[1]);
write('введите y1 координату: ');
readln(y[1]);
for i:=2 to n do
begin
write('введите х',i,' координату: ');
readln(x[i]);
write('введите y',i,' координату: ');
readln(y[i]);
per := per + dlina(x[i-1],y[i-1],x[i],y[i]);
end;
per := per + dlina(x[i],y[i],x[1],y[1]);
writeln('периметр искомого ',n,' угольника',per);
readln;
end.
4,6(86 оценок)
Открыть все ответы
Ответ:
navozovaleksejj
navozovaleksejj
03.07.2021

Объяснение:

#include <iostream>

#include<vector>

#include <algorithm>

using namespace std;

int main() {

ios::sync_with_stdio(false);

int N, A, B;

cin >> N;

vector < vector <int>> IO;

int lastDay = 0;

for (int i = 0; i <  N; i++) {

 cin >> A >> B;

 IO.push_back(vector<int>());

 IO[i].push_back(A);

 IO[i].push_back(B);

 IO[i].push_back(i);

}

sort(IO.begin(), IO.end());

for (int i = 0; i < N; i++)

{

 if (lastDay >= IO[i][1]) {

  IO[i][0] = -1;

  IO[i][1] = -1;

 }

 else {

  if (lastDay < IO[i][0]) {

   lastDay = IO[i][1];

  }

  else if (lastDay >= IO[i][0]) {

   IO[i][0] = lastDay+1;

   lastDay = IO[i][1];

  }

 }

}

for (int i = 0; i < N; i++) {

 for (int j = 0; j < N; j++) {

  if (IO[j][2] == i) {

   cout << IO[j][0] << " " << IO[j][1] << endl;

   break;

  }

 }

}

return 0;

}

4,6(87 оценок)
Ответ:
ДашаааDidek
ДашаааDidek
03.07.2021

Pascal ABC

Объяснение:

function Armstrong(isarm: longint): boolean;

var m, p, s: integer;

   a, b: array[1..100] of integer;

 begin

   s := 0;

   m := isarm;

   p := 0;

   while m <> 0 do begin

     inc(p);

     a[p] := m mod 10;

     m := m div 10

   end;

   for var i := 1 to p do begin

     b[i] := 1;

     for var j := 1 to p do

       b[i] *= a[i];

       s += b[i];

    end;

   if s = isarm then Armstrong := true else Armstrong := false;

 end;

var kol: integer;

begin

 WriteLn('Введите размер массива: '); var n := ReadInteger;

 WriteLn('Введите элементы массива по одному: '); var a := ReadArrInteger(n);

 WriteLn('Числа Армстронга: ');

 for var i := 0 to n - 1 do

   if Armstrong(a[i]) then begin

     Write(a[i], ', '); inc(kol);

   end;

 WriteLn();

 WriteLn('Количество чисел Армстронга в массиве равно ', kol);

end.

4,4(41 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ