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

решить лабу
pascal abc
16 вариант решить лабу pascal abc 16 вариант решить лабу pascal abc 16 вариант решить лабу pascal abc 16 вариант">

Показать ответ
Ответ:
Fkrfi134F
Fkrfi134F
27.11.2020 17:07

#include <iostream>

#include <algorithm>

using namespace std;

int main()

{

int n(0),m(0);

cin >> n >> m;

int matrix[n][m];

char arr[n][m];

arr[0][0] = '0';

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

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

cin >> matrix[i][j];

if(!i && !j)continue;

if(!i){

matrix[i][j] += matrix[i][j-1];

arr[i][j] = 'R';

}

if(!j){

matrix[i][j] += matrix[i-1][j];

arr[i][j] = 'D';

}

if(i && j){

matrix[i][j] += max(matrix[i-1][j],matrix[i][j-1]);

if(max(matrix[i-1][j],matrix[i][j-1]) == matrix[i-1][j])arr[i][j] = 'D';

else arr[i][j] = 'R';

}

}

}

cout << matrix[n-1][m-1];

cout << "\n";

string s;

for(int i = n-1;;){

for(int j = m-1;;){

if(arr[i][j] == '0'){

reverse(s.begin(),s.end());

s.erase(0,1);

cout << s << endl;

return 0;

}

s.push_back(arr[i][j]);

s.push_back(' ');

if(arr[i][j] == 'R'){

j -= 1;

continue;

}

if(arr[i][j] == 'D'){

i -= 1;

continue;

}

}

}

cout << endl;

return 0;

}

Объяснение:

0,0(0 оценок)
Ответ:
LegoLAS09
LegoLAS09
28.05.2021 19:59
Если точка лежит внутри треугольника, то сумма площадей образованных ей треугольников равна площади данного треугольника.
x1, y1, x2, y2, x3, y3 - координаты точек треугольника, x, y - координаты точки.
Найдем векторное произведение, которое равно удвоенной площади треугольника.
Исходный код: 
#include <iostream>
using namespace std;
int main() {
  int x1, y1, x2, y2, x3, y3, x, y;
  cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x >> y;
  if (abs((x1 - x) * (y2 - y) - (x2 - x) * (y1 - y)) +
     abs((x1 - x3) * (y - y3) - (x - x3) * (y1 - y3)) +
     abs((x - x3) * (y2 - y3) - (x2 - x3) * (y - y3)) ==
     abs((x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3)))
    {
      cout << "In";
    } else {
      cout << "Out";
    }
    return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота