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

Ошибка в процедуре - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как понять код? http://www.cyberforum.ru/cpp-beginners/thread793411.html
#include <string.h> int main() { char str = "abcdef"; int slen = strlen(str); for(int i=0;i<slen/2;i++) { str = str + str; str = str - str; str = str...
C++ Нужны комментарии к коду с указателями Добавить комментарии к коду так, что бы можно было понять что и как используется. #include <iostream> #include <cmath> #include <cstdlib> #include <ctime> using namespace std; void sum(... http://www.cyberforum.ru/cpp-beginners/thread793400.html
C++ Хеадер и исходник
Имеется к примеру класс: class Call{ public: print(const char *text); }; Записано это в хеадер. Вопрос. Как сделать так, чтобы можно было описать методы класса в исходнике? К примеру...
Обработка элементов вектора на С++ C++
Дан вектор - одномерный числовой массив. Определить количество элементов массива, расположенных между макимальным и «центральным» элементами массива (предполагается, что число элементов -...
C++ Как проверить строку массива на наличее отрицательного члена http://www.cyberforum.ru/cpp-beginners/thread793372.html
Как проверить строку массива на наличее отрицательного члена?
C++ Не работает цикл Доброго времени суток. Только начал изучать этот язык в институте, а там уже лабы требуют, и я в ужасе пытаюсь их успевать делать) Дали задание: что сделал я: #include <iostream.h> #include... подробнее

Показать сообщение отдельно
Kota1921
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 5

Ошибка в процедуре - C++

24.02.2013, 02:10. Просмотров 335. Ответов 6
Метки (Все метки)

Добрый день, вечер, ночь. При проверке включения одного круга в другой программа вылетает, можете посмотреть код?

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
88
89
90
91
92
93
94
95
struct cir
{
    int x,y;
    float rad;
};
 
//длинна окружности
double dlinna(double length)              //вычесление длинны окружности
{
    length=2*M_PI*length;
    return length;
 
int peresech(cir cir1, cir cir2)
    {
    if ((pow((cir1.x-cir2.x),2)+pow((cir1.y-cir2.y),2))<=(pow((cir1.rad+cir2.rad),2)))
        {
        return(1);
        }
    else
        {
        return(0);
        }
    }
 
//включение одного круга в другой
int vkluch(cir cir1, cir cir2)
    {
    float rast;
    if (cir1.rad>cir2.rad)
       {
       rast=sqrt(pow((cir2.x-cir1.x),2)+pow((cir2.y-cir1.y),2));
       if (cir1.rad>rast)
          {
          return(1);
          }
       else
          {
          return(0);
          }
       }
    else
       {
       return(0);
       }
    }
 
int main()
{
    int size,                           //размер набора
        i,j,k,n;                        //счетчики
    double min;                          //наименьший круг из набора
 
    printf("Vvedite razmer nabora ");
    scanf("%i",&size);                   //количество кругов в наборе
 
    cir mass[size];                      //массив набора кругов
 
    for (i=0; i<size; i++)
        {
        mass[i]=vvod();                  //ввод данных о круге
        }
    system("CLS");
 
    cir sred[(size-1*size-2)%2];         //массив сдерних кругов
    k=0;                                 //обнуление k-счетчика
    for (i=0; i<size; i++)
        {
        for (j=0; j<size; j++)
            {
            if ((i!=j) && (i<j) && (peresech(mass[i],mass[j])))     //если индексы неравны и второй индех больше и есть пересечение
               {
               sred[k]=obl(mass[i],mass[j]);                        //получаем круговою оболочку для двух кругов
               k++;
               }
            }
        }
 
    min=mass[0].rad;                                                //минимальный круг из набора включений круговых оболочек
    for (i=0; i<size; i++)
        {
        for (j=0; j<k; j++)
            {
            if (vkluch(mass[i],sred[j])==1)                         //проверка на включение в круги из набора
                {
                if (mass[i].rad<min)
                    {
                    min=mass[i].rad;
                    }
                }
            }
        }
    printf("Dlinna okruznosti - %d",dlinna(min));
    system("PAUSE");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.