Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
The_Hugo
0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 9
1

Нужно нарисовать 2 блок-схемы(1 математическую,2 для написания самой программы)

17.10.2016, 19:20. Просмотров 245. Ответов 5
Метки нет (Все метки)

#include <iostream>
#include <math.h>
using namespace std;

//длина стороны АВ
double side(double xa, double ya, double xb, double yb)
{return sqrt((xb-xa)*(xb-xa)+(yb-ya)*(yb-ya));}

//отклонение С от АВ
double deviation(double x1, double y1, double x2, double y2, double x3, double y3)
{
double r=side(x1,y1,x2,y2);
double A=(y2-y1)/r;
double B=(x2-x1)/r;
double C=(x1*(y2-y1)-y1*(x2-x1))/r;
return (x3*A-y3*B-C);
}

int main()
{
setlocale(LC_ALL, "");
double x[4],y[4];
int i,j, yes=0;

cout<<"Введите координаты точек\n";
for(i=0;i<4;i++)
{
cout<<"x["<<i+1<<"] = ";
cin>>x[i];
cout<<"y["<<i+1<<"] = ";
cin>>y[i];
}

//Проверка на совпадение двух точек
for(i=0;i<3;i++)
for(j=i+1;j<4;j++)
if(side(x[i],y[i],x[j],y[j])==0)
{ cout<<"Две точки совпадают\n";
system("pause");
return 0;
}
//Проверка на находжение трех точек на одной прямой
double dev12_3 = deviation(x[0],y[0],x[1],y[1],x[2],y[2]);
double dev12_4 = deviation(x[0],y[0],x[1],y[1],x[3],y[3]);
double dev23_4 = deviation(x[1],y[1],x[2],y[2],x[3],y[3]);
double dev13_4 = deviation(x[0],y[0],x[2],y[2],x[3],y[3]);
if(dev12_3==0 || dev12_4==0 || dev23_4==0 || dev13_4==0)
{ cout<<"Три точки лежат на одной прямой\n";
system("pause");
return 0;
}

cout<<"Множество точек образует четырехугольник\n";
system("pause");

//определяем диагональ, проходящую через А1
//если А1А2 - диагональ, попарные стороны "А1А3/А2А4" "А2А3/А1А4"
//если А1А3 - диагональ, попарные стороны "А1А2/А3А4" "А2А3/А1А4"
//если А1А4 - диагональ, попарные стороны "А1А2/А3А4" "А2А4/А1А3"

double dev13_2 = deviation(x[0],y[0],x[2],y[2],x[1],y[1]);

if(dev12_3*dev12_4<0) //диагональ 12
{if(side(x[0],y[0],x[2],y[2])==side(x[1],y[1],x[3],y[3]) && side(x[1],y[1],x[2],y[2])==side(x[0],y[0],x[3],y[3])) yes++;}
else
{
if(dev13_2*dev13_4<0) //диагональ 13
{if(side(x[0],y[0],x[1],y[1])==side(x[2],y[2],x[3],y[3]) && side(x[1],y[1],x[2],y[2])==side(x[0],y[0],x[3],y[3])) yes++;}
else //диагональ 14
{if(side(x[0],y[0],x[1],y[1])==side(x[2],y[2],x[3],y[3]) && side(x[0],y[0],x[2],y[2])==side(x[1],y[1],x[3],y[3])) yes++;}
}

if(yes)
cout<<"\nЭто - параллелограмм\n";
else
cout<<"\nЭто - не параллелограмм\n";

system("pause");

return 0;
}




И требуется объяснение для строк с 12 пол 16 включительно
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2016, 19:20
Ответы с готовыми решениями:

Нужно нарисовать блок-схему для программы
Помогите нарисовать блок-схему для данной программы! # include &lt;iostream&gt; ...

Блок схемы для программы
Помогите пожалуйста сделать блок схемы для 3 любых прог из этих 3)) В любом...

Создание блок-схемы для программы
вот у меня есть программа , не приложу ума как нарисовать блок-схему(полностью)...

Требуется помощь в составлении блок-схемы для программы
Всем привет,имеется код программы,необходима помощь в составлении блок-схем. ...

Составление блок-схемы и программы для вычисления значения функции
Дорогие форумчане, помогите решить первое задание, заранее благодарен :)

5
Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 267
17.10.2016, 19:26 2
Выделите какие строчки
0
The_Hugo
0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 9
17.10.2016, 20:20  [ТС] 3
//отклонение С от АВ
double deviation(double x1, double y1, double x2, double y2, double x3, double y3)
{
double r=side(x1,y1,x2,y2);
double A=(y2-y1)/r;
double B=(x2-x1)/r;
double C=(x1*(y2-y1)-y1*(x2-x1))/r;
return (x3*A-y3*B-C);

Нужно конкретное объяснение,какие именно действия проводятся в строках "double"
0
Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 267
17.10.2016, 20:38 4
double r=side(x1,y1,x2,y2); вызывается функция side
double A=(y2-y1)/r; double B=(x2-x1)/r; и double C=(x1*(y2-y1)-y1*(x2-x1))/r; обычные расчёты
return (x3*A-y3*B-C); возврат значения) чё тут не понятно ?
0
The_Hugo
0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 9
17.10.2016, 20:43  [ТС] 5
первая программа,которую я пишу в своей жизни
к сожалению,непонятно всё

Добавлено через 2 минуты
благодарю за помощь
0
Ko
5 / 5 / 2
Регистрация: 23.12.2011
Сообщений: 267
17.10.2016, 23:32 6
ну прога явно не вами написана) Вам бы книгу для начала почитать об с++
0
17.10.2016, 23:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2016, 23:32

Составить блок-схемы и программы для вычисления Y и Z по заданным формулам
Составить программы для вычисления Y и Z по заданным формулам прошу вас,...

Составить блок-схемы, написать программы на языке С++ для вычисления значений f(x)
Составить блок-схемы, написать программы на языке С++ для вычисления значений...

Нарисовать блок-схемы функций
Який блок схем до цих програми??:cry: int e(int n) { int a; if(n==0) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru