Відповідь:
def perimeter(x1,x2,x3,y1,y2,y3):
a=((x2-x1)**2+(y2-y1)**2)**(1/2)
b=((x3-x2)**2+(y3-y2)**2)**(1/2)
c=((x3-x1)**2+(y3-y1)**2)**(1/2)
P=a+b+c
return round(P)
def area(x1,x2,x3,y1,y2,y3):
a=((x2-x1)**2+(y2-y1)**2)**(1/2)
b=((x3-x2)**2+(y3-y2)**2)**(1/2)
c=((x3-x1)**2+(y3-y1)**2)**(1/2)
P=a+b+c
p=P/2
S=(p*(p-a)*(p-b)*(p-c))**(1/2)
return round(S)
Пояснення:
Периметр це сума всіх сторін.
Формула відстані між двома точками:
Отже знайдемо довжину всіх сторін і додамо їх.
Формула площі трикутника за трьома сторонами
, де p це півпараметр, тобто параметр поділений на 2
В строке 1 импортируем из библиотеки random функцию randint, которая позволяет сгенерировать целое число.
В строках 3 и 4 генерируем по числу, в дальнейшем это будет максимальное количество элементов в массиве.
В строке 6 объявляем 2 списка (list1, list2).
В строках 8-12 создаем цикл в котором генерируем числа в массив (list1) и в блоке if проверяем кратны ли они трем.
В строках 14-18 проворачиваем те же действия, только значения заносим в другой массив (list2).
В строке 20 объявляем множество (set1).
В строке 21 присваиваем значения с обоих массивов (list1, list2) множеству (set1).
В строке 23 объявляем массив (endlist) в который мы заносим все числа с множества (set1).
В строках 25-28 просто проверяем работо (не обязательно).
Поделитесь своими знаниями, ответьте на вопрос:
Кр по инфе замените элементы, стоящие на главной диагонали и значения которых четное на цифру 100
#include <stdlib.h>
#include <time.h>
using namespace std;
const int n = 10;
int main()
{
int a[n][n];
cout << "Source array: \n";
srand(time(NULL));
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
a[i][j] = rand() % 500 + 100;
cout << a[i][j] << " ";
}
cout << endl;
}
cout << "New array: \n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if ((a[i][j] % 2 == 0) && (i == j))
a[i][j] = 100;
cout << a[i][j] << " ";
}
cout << endl;
}
//system("pause");
return 0;
}