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

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

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

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

16.06.2013, 17:06. Просмотров 472. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2013, 17:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек (C++):

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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;
}
но программы, которая удовлетворяла бы условию я не увидел.
0
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
16.06.2013, 18:13  [ТС] #3
а можете помочь дописать её.
0
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;
}
за работоспособность третей части программы не отвечаю. использовался ваш код.
0
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
16.06.2013, 18:43  [ТС] #5
Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2013, 18:43
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.06.2013, 18:43
Ответ Создать тему
Опции темы

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