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

Найти периметр многоугольника, заданного уравнениями сторон - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Склеивание двух массивов http://www.cyberforum.ru/cpp-beginners/thread1304357.html
#include <stdafx.h> #include <iostream> #include <stdio.h> #include <ctime> #include <windows.h> #include <iomanip> #include <cstdlib> //setlocale(0, "rus"); using namespace std;
C++ Как склеить двумерные массивы? #include <iostream.h> #include <vcl> #include <conio> #include <math> #include <iomanip.h> using namespace std; const int Size=4; int main() { int ReshKardano; http://www.cyberforum.ru/cpp-beginners/thread1304353.html
Найти суммы элементов тех строк матрицы, максимальные элементы которых не превышают среднего значения C++
Решить задачу, используя функцию. Дана матрица А(n,m). Определить суммы элементов тех строк матрицы, максимальные элементы которых не превышают среднего значения элементов матрицы или вывести сообщение, что таких строк не существует. Функция должны вычислять или значение суммы элементов одномерного массива или значение максимального элемента одномерного элемента или среднее значение элементов...
Работа с STL list + пропись List.h C++
Здравствуйте! Помогите, пожалуйста, разобраться с STL list. Нужно сделать программу в которой будет содержаться класс Student, прописать добавление, изменение, удаление и поиск. List прописать самим. как прописывать лист вообще понятия не имею, пытаюсь сделать добавление, но успехи практически никакие(( С числами все получается (list <int> L;), если не прописывать лист, а вот с классом ничего...
C++ Заполнить массив случайными символами http://www.cyberforum.ru/cpp-beginners/thread1304322.html
Как заполнить двумерный массив случайными символами?
C++ Шифрование методом "Диск Альберти" Написать приложение для преобразования файлов с открытым сообщением в файлы с зашифрованным сообщением методом "Диск Альберти". У меня программа считывает текст из консоли, преобразует этот текст в зашифрованный и записывает в файл. А нужно, чтобы считывала не из консоли, а из файла, преобразовывала и записывала в новый файл. #include <stdio.h> #include <stdlib.h> #include <string.h> ... подробнее

Показать сообщение отдельно
Vika92
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 3
19.11.2014, 22:16  [ТС]     Найти периметр многоугольника, заданного уравнениями сторон
Спасибо огромное, глядя на ваш пример я всё таки смогла разобраться))

Добавлено через 27 минут
Кликните здесь для просмотра всего текста
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
#include <iostream> //четыре допущения: линии образуют фигуру, линии идут последовательно, совпадающих или параллельных линий в последовательно введённых нет
#include <math.h> 
using namespace std;
 
int i, numl;
double x, y, d, P;
 
void slau(double values[2][3]) //решение слау методом Крамера
{
    double delta = values[0][0] * values[1][1] - values[0][1] * values[1][0];
    double delta_x1 = values[0][2] * values[1][1] - values[0][1] * values[1][2];
    double delta_x2 = values[0][0] * values[1][2] - values[1][0] * values[0][2];
    x = delta_x1 / delta;
    y = delta_x2 / delta;
}
 
void lenght(double **tchk) //расстояние между точками и длинна пермитра
{
    for (i = 0; i < numl - 1; i++)
    {
        d = pow(fabs(pow((tchk[i + 1][0] - tchk[i][0]), 2) - pow((tchk[i + 1][1] - tchk[i][1]), 2)),0.5);
        P += d;
    }
    d = pow(fabs(pow((tchk[i][0] - tchk[0][0]), 2) - pow((tchk[i][1] - tchk[0][1]), 2)), 0.5);
    P += d;
}
 
void notmain()
{
    cout << "input number of lines\n";
    cin >> numl;
    double *numofa = new double[numl];
    double *numofb = new double[numl];
    double *numofc = new double[numl];
    double **tchk;
    tchk = new double*[numl];
    for (int i = 0; i<numl; i++)
        tchk[i] = new double[2];
    for (i = 0; i < numl; i++) //Ввод массивов коэффициентов x,y,c для прямых
    {
        cout << "input " << i + 1 << " equation coefficients ax+by=c\ninput a\n";
        cin >> numofa[i];
        cout << "input b\n";
        cin >> numofb[i];
        cout << "input c\n";
        cin >> numofc[i];
    }
    for (i = 0; i < numl - 1; i++) //задаём массив точек 
    {
        double values[2][3] =
        {
            { numofa[i], numofb[i], numofc[i] },
            { numofa[i + 1], numofb[i + 1], numofc[i + 1] }
        };
        slau(values);
        tchk[i][0] = x;
        tchk[i][1] = y;
    }
    double values[2][3] = { { numofa[i], numofb[i], numofc[i] },
    { numofa[0], numofb[0], numofc[0] } };
    slau(values);
    tchk[i][0] = x;
    tchk[i][1] = y;
             lenght(tchk);
    cout << "Perimeter = " << P << endl;
    delete[] numofa;
    delete[] numofb;
    delete[] numofc;
    for (i = 0; i<numl; i++)
        delete[]tchk[i];
    delete[]tchk;
    system("pause");
    notmain();
}
void main()
{
    notmain();
}

Вот код программы. У меня возник ещё один вопрос: можно ли как-то реализовать сортировку уравнений прямых, чтобы вводить их можно было не по порядку и можно было вводить последовательно параллельные прямые?
 
Текущее время: 09:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru