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

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

Войти
Регистрация
Восстановить пароль
 
DAgot_
22 / 22 / 1
Регистрация: 03.01.2010
Сообщений: 68
#1

Ошибка в программе - C++

17.10.2010, 22:08. Просмотров 357. Ответов 2
Метки нет (Все метки)

Вот код:
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*--------------------------------------------------------------- БИБЛИОТЕКИ */
 
#include    <iostream>
#include    <fstream>
#include    <vector>
#include    <math.h>
 
 
/*------------------------------------------------------------------ ДЕФАЙНЫ */
 
 
/*------------------------------------------------------------------- КЛАССЫ */
 
// Класс "точка" (содержит значения координат точки)
class point{
 
public:
 
    double x;
    double y;
 
    point(): x(0), y(0){};
    point(double arg, double f): x(arg), y(f){};
    ~point(){};
};
 
// Класс "Окружность" (содержит значения координат центра окружности и  длины
// её радиуса)
class сircle{
 
public:
 
    double x;
    double y;
    double r;
 
    сircle(): x(0), y(0), r(1){};
    сircle(int arg, int f, int rad): x(arg), y(f), r(rad){};
    ~сircle(){};
};
 
 
/*------------------------------------------------------------------- ПРОЧЕЕ */
 
// Потоки ввода/вывода
std::ifstream in("input.txt");
std::ofstream out("output.txt");
 
сircle tempCircle;
 
int n;
 
int i, j, k;
 
point *v = new point[n];
 
 
/*------------------------------------------------------------------ ФУНКЦИИ */
 
void GetInput(){
    in >> n;
 
    for(i=0; i<n; i++){
        in >> v[i].x >> v[i].y;
    }
}
 
void GetCircleWithThreePoints(point a, point b, point c){
    
    point temp;
    
    if(c.x == b.x){
        temp.x = a.x;
        a.x = b.x;
        b.x = temp.x;
    }
    else if(a.x == b.x){
        temp.x = c.x;
        c.x = b.x;
        b.x = temp.x;
    }
    
    double ma = (b.y - a.y) / (b.x - a.x);
    double mb = (c.y - b.y) / (c.x - b.x);
 
    double chislitel = ((ma*mb)*(a.y-c.y))+(mb*(a.x+b.x))-(ma*(b.x+c.x));
    double znamenatel = 2*(mb-ma);
 
    tempCircle.x = chislitel / znamenatel;
}
 
 
/*-------------------------------------------------------------- ТОЧКА ВХОДА */
 
void main(){
 
    GetInput();
 
    /*for(i=0; i<n; i++){
        for(j=i+1; j<n; j++){
            for(k=j+1; k<n; k++){
            }
        }
    }*/
 
    i=0;
    j=1;
    k=2;
 
    GetCircleWithThreePoints(v[i], v[j], v[k]);
 
    std::cout << tempCircle.x;
 
}
Вот вывод винды об ошибке:

Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: 02 - Bonus 1.exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 4cbb39d5
Имя модуля с ошибкой: ntdll.dll
Версия модуля с ошибкой: 6.1.7600.16385
Отметка времени модуля с ошибкой: 4a5bdadb
Код исключения: c0000005
Смещение исключения: 00051ffe
Версия ОС: 6.1.7600.2.0.0.256.4
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789


В чём проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2010, 22:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в программе (C++):

Ошибка в программе - C++
Задание 3. Написать и протестировать функцию STRS (S1,S2), которая определяет, встретился ли в строке S1 какой-нибудь символ из строки S2...

Ошибка в программе - C++
Написать программу решения квадратного уравнения a∙x2+b∙x+c = 0. Дискриминант вычисляется по формуле d = b2 – 4∙a∙c. Если дискриминант...

ошибка в программе - C++
скажите где ошибка и как её исправить? #include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include&lt;string.h&gt; #include&lt;stdlib.h&gt; ...

ошибка в программе - C++
int alice(int n,int g,int x) { long int a,a1; a1=pow(g,x); a=a1%n; return(a); } Ошибка 2 error C2668: pow:...

Ошибка в программе - C++
Чет у меня затык))голова совсем не варит уже.... #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { ...

Ошибка в программе! - C++
найти минимальное положительное целое число Q такое, что произведение цифр числа Q в точности равняется N. Выведите целое число Q. Если...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
18.10.2010, 08:06 #2
Видимо память для массива выделяется неверно. Как я понял, вы считываете его размер - n из файла:
C++
1
 in >> n;
Но память выделяете почему-то раньше:
C++
1
2
int n;
point *v = new point[n]; // чему тут равно n?
И ещё выдаёт ошибку: circle - использована кириллическая 'с' вместо латинской.
DAgot_
22 / 22 / 1
Регистрация: 03.01.2010
Сообщений: 68
18.10.2010, 09:47  [ТС] #3
Спасибо вам огромное, очень помогли.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2010, 09:47
Привет! Вот еще темы с ответами:

Ошибка в программе - C++
В программе есть ошибка, подозрения падают на atanh так как в ошибке курсор там стоит, как можно сделать чтобы вычислялся обратный...

Ошибка в программе - C++
условие:Даны целые положительные числа N и K. Найти сумму 1K + 2K + … + NK. Чтобы избежать целочисленного переполнения, вычислять...

ошибка в программе - C++
Пожогите. пожалуйста, решить проблему... Уже все перепробовал, но ошибка осталась #include &lt;iostream&gt; #include &lt;windows.h&gt; using...

Ошибка в программе - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;cstring&gt; using namespace std; class strtype { char* p; int len; ...


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

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

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