Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
1

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

16.06.2013, 17:06. Просмотров 1397. Ответов 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;
}}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2013, 17:06
Ответы с готовыми решениями:

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

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

Написать функцию, которая находит количество точек с целочисленными координатами, попадающими в круг
Здравствуйте! Мне нужна помощь знающих людей, так как я сама полностью запуталась. Необходимо в...

Написать функцию test1(f:text),которая по данным текстового файла f находит суммарную длину строк
Заранее выражаю искреннюю благодарность. 1. Написать функцию test1(f:text),которая по данным...

4
2 / 2 / 1
Регистрация: 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;
}
но программы, которая удовлетворяла бы условию я не увидел.
0
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
16.06.2013, 18:13  [ТС] 3
а можете помочь дописать её.
0
2 / 2 / 1
Регистрация: 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;
}
за работоспособность третей части программы не отвечаю. использовался ваш код.
0
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
16.06.2013, 18:43  [ТС] 5
Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2013, 18:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

Вычислить длину отрезка по координатам точек его концов
Написать функцию, вычисляющую длину отрезка по координатам точек его концов.(если можно полностью...

Написать функцию, что считает площадь и длину стороны параллелограмма
Даны параллелограммы с координатами своих вершин. Вывести номер параллелограмма у которого...

Написать процедуру, которая находит минимальную суммарную длину
На прямой линии лежат точки, расстояние которых от начала линии равно: 1,8, 2, 2, 3, 3,25, 6,1,...


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

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

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