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

Добавить в код программы использование функций Френд и Статик, перегрузку опереций, наследование, использование шаблонов, обработку искл. ситуаций... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вот не могу решить !!! http://www.cyberforum.ru/cpp-beginners/thread65034.html
вот задачи с которыми я не как не могу справетса : Есть n городов, расположенных на прямой. Телекомпания хочет разместить 3 радара в некоторых трех городах для вещание. Однако компания хочет достичь максимальной мощности такой системы. Если радары расположены в городах с координатами x1<x2<x3, то мощность будет равна (x3-x2)*(x2-x1), то есть произведению расстояний. Необходимо найти...
C++ лексокографическая сортировка День добрый. Помогите реализовать прогу по данной сортировки, т.к. в теме сортировок я её не нашёл. Сама формулировка: Вектор А=(А1,А2,...,Аn) считается лексикографически большим вектора В=(В1,В2,...,Вn), если существует К>=0 такое, что Ai=Bi (i<=K), Ak+1>Bk+1. Составить программу лексокографической сортировки числовых расстановок на шахматной доске. А1=(Ч,Б) - цвет фигуры А2=(КР,Ф,Л,С,К,П)... http://www.cyberforum.ru/cpp-beginners/thread65018.html
C++ циклы
распечатать на дисплее таблицу символов для кодов,начиная с номера 32
Массивы C++
найти номера максимального и минимального элементов и вычислить их значение.
C++ Определить, является ли данная квадратная матрица симметричной относительно главной диагонали. http://www.cyberforum.ru/cpp-beginners/thread64955.html
У меня аналогичная задача по курсовой, ничего не смыслю в С++ да и в программировании вообще, честно говоря, поэтому задачу решить сама просто не смогу. Если вам, дорогие программисты, сис админы и другие кто в этом смыслит, помогите пожалуйста... Вот задача : Проверить, симметрична ли матрица С(5,5) относительно главной диагонали. Нужно: составить алгоритм в виде блок-схемы и программу решения...
C++ Создать производные классы Создать производные классы со своими методами вывода информации на экран (абстрактного класса Библиотека). Производные классы: 1. Электронный ресурс (название, фамилия автора, ссылка, аннотация) 2. Статья (название, фамилия автора, название журнала, его номер и год издания) 3. Книга (название, фамилия автора, год издания, издательство). подробнее

Показать сообщение отдельно
Mr.Twister
Сообщений: n/a

Добавить в код программы использование функций Френд и Статик, перегрузку опереций, наследование, использование шаблонов, обработку искл. ситуаций... - C++

18.11.2009, 18:15. Просмотров 569. Ответов 0
Метки (Все метки)

Добрый вечер! В заголовке пожалуй всё, требуется сделать винегрет...
Исходная задача была такова - Написать программу которая Для двух выпуклых многоугольников заданных на плоскости перечислением координат вершин в порядке обхода границы, будет определять их площадь и проверять находится ли один строго внутри другого) Но это лишь половина, потом надо добавить в эту программу все приёмы программирования, такие как статические элементы, дружественные функции, наследование, перегрузку операций, обработку исключительных ситуаций и использование шаблонов... Помогите пожалуйста, как написать программу справился.. но как всё это туда добавить не представляю..((
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
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
 
class tochka{
    public:
        int x,y;
};
class mn{
    public:
        int kol;
        float s;
};
double poisk(tochka point,tochka sidebar[],int count);
 
int main(){
        int z;
        mn mn1,mn2;
        tochka m1[10],m2[10];
 
            printf("Vvedite chislo vershin pervogo mnogougol'nika\n"); scanf("%d",&mn1.kol);
            printf("Vvedite cherez probel koordinaty X i Y, tochek, nazhimaja vvod, v porjadke obhoda granicy\n");
    
            for(int i=1; i<=mn1.kol; i++) scanf("%d%d", &m1[i].x,&m1[i].y);
            printf("Vvedite chislo vershin vtorogo mnogougol'nika\n"); scanf("%d",&mn2.kol);
            printf("Vvedite cherez probel koordinaty X i Y, tochek, nazhimaja vvod, v porjadke obhoda granicy\n");
        
            for(int i=1; i<=mn2.kol; i++) scanf("%d%d", &m2[i].x,&m2[i].y);
            mn1.s=0;
 
            for(int i=3; i<=mn1.kol; i++) mn1.s=mn1.s+((abs((m1[i-1].x-m1[1].x)*(m1[i].y-m1[1].y)-(m1[i].x-m1[1].x)*(m1[i-1].y-m1[1].y)))/2);
                
            printf("Plowad' pervogo mnogougol'nika = %5.2f\n", mn1.s);
            mn2.s=0;
 
            for(int i=3; i<=mn2.kol; i++) mn2.s=mn2.s+((abs((m2[i-1].x-m2[1].x)*(m2[i].y-m2[1].y)-(m2[i].x-m2[1].x)*(m2[i-1].y-m2[1].y)))/2);
            printf("Plowad' vtorogo mnogougol'nika = %5.2f\n", mn2.s);
            z=0;
    
            if(mn1.s>mn2.s)for(int i=1; i<=mn2.kol; i++) if(poisk(m2[i],&m1[1],mn1.kol)==1) z++;
    
            if(z==mn2.kol)printf("Mnogougol'nik 2 lezhit strogo v mnogougol'nike 1\n");
            z=0;
    
            if(mn2.s>mn1.s)for(int i=1; i<=mn1.kol; i++) if(poisk(m1[i],&m2[1],mn2.kol)==1) z++;
    
            if(z==mn1.kol)printf("Mnogougol'nik 1 lezhit strogo v mnogougol'nike 2\n");
        
            scanf("%d",&mn1.s);
        
            return 0;
}
double poisk(tochka point,tochka sidebar[],int count)
{
    double x1,y1,x2,y2;
    double Sum=0;
    double y0=point.y;
    double x0=point.x;
    double divisor;
 
    for (int i=0;i<count-1;++i)
    {
        x1=sidebar[i].x;
        y1=sidebar[i].y;
        x2=sidebar[i+1].x;
        y2=sidebar[i+1].y;
 
        divisor=y1*x2-x1*y2-y0*x2+y0*x1+x0*y2-x0*y1;
 
        Sum+=(-atan((-x2*x1+x1*x0+y0*y1-x2*x0+x2*x2-y2*y0+y2*y2-y1*y2 )/divisor)+
              atan((-x1*x1+x2*x1+x1*x0+y0*y1+y1*y2-x2*x0-y1*y1-y2*y0 )/divisor));
    };
    x1=sidebar[count-1].x;
    y1=sidebar[count-1].y;
    x2=sidebar[0].x;
    y2=sidebar[0].y;
 
    divisor=y1*x2-x1*y2-y0*x2+y0*x1+x0*y2-x0*y1;
    Sum+=(-atan((-x2*x1+x1*x0+y0*y1-x2*x0+x2*x2-y2*y0+y2*y2-y1*y2)/divisor)+
          atan((-x1*x1+x2*x1+x1*x0+y0*y1+y1*y2-x2*x0-y1*y1-y2*y0)/divisor));
 
    return abs(Sum)<0.0001?0:1;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru