Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
#1

Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек - C++

16.06.2013, 17:06. Просмотров 467. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста исправить ошибки

условие

Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек.. Написать функцию square, которая вычисляет площадь треугольника, заданного координатами вершин. Написать функцию squaren c переменным числом параметров, которая определяет площадь выпуклого многоугольника, заданного координатами своих вершин.

код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <cmath>
using namespace std;
void Dlina (double x1, double x2, double y1, double y2)
{
    double L=sqrt((x2 - x1)*(x2 - x1)+(y2 - y1)*(y2 - y1)); 
    cout << "Enter x1, y1, x2, y2: ";
    double x1, y1, x2, y2;
    cin >> x1>>y1>>x2>>y2;
    Dlina (x1, y1, x2, y2);
double Square(double a,double b, double c)
{
 double p = (a + b + c) / 2;
 return sqrt(p * (a - p) * (b - p) * (c - p));
 }
double Squaren(double s, res = 0, area = 0)
{
    int i, n;
     cout << "Kolishestvo storon mnogougolnika:" << endl;
    cin >> n;
    int *x = new int[n];
    int *y = new int[n];
    cout << "Enter coordinates:" << endl;
    for (i = 0; i < n; i++) {
        cin >> x[i]  
            >> y[i]; 
    }
    for (i = 0; i < n; i++) {
        if (i == 0) {
            s = x[i]*(y[n-1] - y[i+1]); 
            res += s;
        }
        else
            if (i == n-1) {
                s = x[i]*(y[i-1] - y[0]); 
                res += s;
            }
            else {
                s = x[i]*(y[i-1] - y[i+1]);
                res += s;
            }
    }
    Square = abs(res/2);
    cout << "Square: " << square << endl;
    delete[] x;
    delete[] y;
}
 
int main()
{
    cout << "Enter a, b, c: ";
    double a, b, c;
    cin >> a >> b >> c;
    Square(a, b, c);
    system("pause");
    return 0;
}}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 17:06     Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек
Посмотрите здесь:

Напишите функцию Otrezok (x1, y1, x2, y2), которая находит длину отрезка AB по заданным координатам - C++
Неплохие задачи по С++! Подзабыл его( выручайте, буду очень благодарен 1. Даны координаты двух точек A(x1, x2) и B(x2, y2)...

Написать функцию, которая находит площадь N угольника по его сторонам - C++
Написать функцию (или макроопределение), которая находит площадь треугольника по его сторонам. Написать функцию square c переменным числом...

Написать программу, которая по координатам камушков на поле находит вариант размещения их на двух несовпадающих окружностях - C++
Долго решал, в какой же раздел форума написать, поэтому если не туда попал - прошу прощения :) Итак, сидит друг на экзамене, попросил...

Найти периметр треугольника, определив функцию, рассчитывающую длину отрезка по координатам его вершин - C++
Найдите периметр треугольника, заданного координатами вершин, определив функцию, рассчитывающую длину отрезка по координатам его вершин. ...

Вывести длину наибольшей или наименьшей стороны треугольника в зависимости от его площади - C++
Даны длины трех сторон треугольника x, y, z. Если площадь этого треугольника больше 100, вывести на экран длину наибольшей стороны, иначе...

Написать функцию, которая находит площадь любой фигуры - C++
Написать функцию, которая находит площадь любой фигуры. Использовать значения по умолчанию.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
admir
1 / 1 / 0
Регистрация: 16.06.2013
Сообщений: 11
16.06.2013, 17:39     Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек #2
вот ваш "рабочий" код. исправил семантику, ошибки связанные с синтаксисом. но программа не доделана в любом случае.
исправил:
1) синтаксис
2) Функция Dlina была в бесконечной рекурсии - исправил.
3) ну и так по мелочи.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <conio.h>
#include <cmath>
 
using namespace std;
 
void Dlina(double x1, double x2, double y1, double y2)
{
    double L = sqrt((x2 - x1)*(x2 - x1)+(y2 - y1)*(y2 - y1)); 
    cout << "Dlina storoni: " << L;
}
 
double Square(double a, double b, double c)
{
    double p = (a + b + c) / 2;
    return sqrt(p * (a - p) * (b - p) * (c - p));
}
 
double Squaren(double s, double res = 0, double area = 0)
{
    int i, n;
    cout << "Kolishestvo storon mnogougolnika:" << endl;
    cin >> n;
    int *x = new int[n];
    int *y = new int[n];
    cout << "Enter coordinates:" << endl;
    for (i = 0; i < n; i++)
        cin >> x[i] >> y[i];
 
    for (i = 0; i < n; i++)
    {
        if (i == 0)
        {
            s = x[i]*(y[n-1] - y[i+1]); 
            res += s;
        }
        else
            if (i == n-1)
            {
                s = x[i]*(y[i-1] - y[0]); 
                res += s;
            }
            else
            {
                s = x[i]*(y[i-1] - y[i+1]);
                res += s;
            }
    }
    cout << "Square: " << abs(res/2) << endl;
    delete[] x;
    delete[] y;
    return 0;
}
 
int main()
{
    cout << "Enter a, b, c: ";
    double a, b, c;
    cin >> a >> b >> c;
    Square(a, b, c);
    system("pause");
    return 0;
}
но программы, которая удовлетворяла бы условию я не увидел.
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
16.06.2013, 18:13  [ТС]     Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек #3
а можете помочь дописать её.
admir
1 / 1 / 0
Регистрация: 16.06.2013
Сообщений: 11
16.06.2013, 18:35     Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
#include <conio.h>
#include <cmath>
 
using namespace std;
 
void Dlina(double x1, double x2, double y1, double y2)
{
    double L = sqrt((x2 - x1)*(x2 - x1)+(y2 - y1)*(y2 - y1)); 
    cout << "Dlina storoni: " << L;
}
 
void Square(double a, double b, double c)
{
    double p = (a + b + c) / 2;
    cout << "Ploshad' treugolnika: " << sqrt(p * (p - a) * (p - b) * (p - c));
}
 
void Squaren()
{
    int i, n;
    double s, res = 0, area = 0;
    cout << "Kolishestvo storon mnogougolnika:" << endl;
    cin >> n;
    int *x = new int[n];
    int *y = new int[n];
    cout << "Enter coordinates:" << endl;
    for (i = 0; i < n; i++)
        cin >> x[i] >> y[i];
 
    for (i = 0; i < n; i++)
    {
        if (i == 0)
        {
            s = x[i]*(y[n-1] - y[i+1]); 
            res += s;
        }
        else
            if (i == n-1)
            {
                s = x[i]*(y[i-1] - y[0]); 
                res += s;
            }
            else
            {
                s = x[i]*(y[i-1] - y[i+1]);
                res += s;
            }
    }
    cout << "Square: " << abs(res/2) << endl;
    delete[] x;
    delete[] y;
}
 
int main()
{
    int menu;
    cout << "\nMenu:\n1. Length of the side\n2. Area of triangle\n3. Area of convex polygon\nYour choise: ";
    cin >> menu;
    switch(menu)
    {
    case 1:
        {
            cout << "Enter pls coordinates x1, x2, y1, y2: ";
            double x1, x2, y1, y2;
            cin >> x1 >> x2 >> y1 >> y2;
            Dlina(x1, x2, y1, y2);
            break;
        }
    case 2:
        {
            cout << "Enter pls a, b ,c: ";
            double a, b, c;
            cin >> a >> b >> c;
            Square(a, b, c);
            break;
        }
    case 3:
        {
            Squaren();
            break;
        }
    }
    cout << endl;
    system("pause");
    return 0;
}
за работоспособность третей части программы не отвечаю. использовался ваш код.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2013, 18:43     Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек
Еще ссылки по теме:

Написать функцию, которая находит минимальный элемент одномерного массива - C++
Написать функцию, которая находит минимальный элемент одномерного массива.

Написать функцию, которая находит самую длинную ветку в дереве - C++
Здравствуйте! Помогите пожалуйста написать функцию которая находит самую длинную ветку в дереве (но ветка не от корня а от любого...

Написать рекурсивную функцию, которая находит размер самой большой фигуры - C++
В прямоугольной таблице N рядов и M колонок. Каждая клетка или пустая, или закрашенная. Каждая закрашенная клетка принадлежит одной из...

Написать функцию, которая находит элемент c минимальной массой класса Dog - C++
Всем доброго времени суток! Нужно написать функцию, которая будет находить минимальную массу из полей класса Dog и выводить на экран имя...

Описать процедуру или функцию, которая находит max элемент не пустого списка L - C++
Задание: описать процедуру или функцию, которая находит max элемент не пустого списка L (инф. часть списка содержит real) P.S.: Помогите...

Написать рекурсивную функцию, которая находит минимальный элемент в матрице (двумерном массиве). - C++
Написать рекурсивную функцию, которая находит минимальный элемент в матрице (двумерном массиве). Добавлено через 2 часа 11 минут ...


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

Или воспользуйтесь поиском по форуму:
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
16.06.2013, 18:43  [ТС]     Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек #5
Спасибо
Yandex
Объявления
16.06.2013, 18:43     Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек
Ответ Создать тему
Опции темы

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