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

Ошибка при запуске программы - C++

Восстановить пароль Регистрация
 
antonio nait
0 / 0 / 0
Регистрация: 17.12.2009
Сообщений: 22
22.12.2009, 22:16     Ошибка при запуске программы #1
помогите исправить, программа компилируется, но выдаёт ошибку
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
#include <iostream>
#include <conio.h>
using namespace std;
 
typedef struct line{
       int a,b,c;//line: a*i+b*j+c vektor
       line(){a=0;b=0;c=0;}
       void set(int newa,int newb,int newc){a=newa;b=newb;c=newc;}
};
 
typedef struct point{
        int x,y;
        point(){x=0;y=0;}
        point(int newx,int newy){x=newx;y=newy;}
        point(point *p){x=(*p).x;y=(*p).y;}
};
 
int operator==(line &l1,line &l2)
{
    return (l1.a==l2.a)&&(l1.b==l2.b);
}
 
int operator==(point &p1,point &p2)
{
    return (p1.x==p2.x)&&(p1.y==p2.y);
}
 
bool diff(line M[],int n)//возвращает 1 если вме линни разные, 0 если есть хотя бы две одинаковые.
{
     for (int i=0;i<n;i++)
     {
         for (int j=0;j<n;j++)
         {
             if ((M[i]==M[j])&&(i!=j))return 0;
         }
     }
     return 1;
}
 
bool kolleniarni(line &l1,line &l2)//возвращает 1 если лини паралельны, 0 если они не пралельны
{
     return (l1.a*l2.b-l2.a*l1.b)==0;
}
 
bool NeKolleniarniVse(line M[],int n)//возвращает 1 если все попарно не параллельны.
{
     for (int i=0;i<n;i++)
     {
         for (int j=0;j<n;j++)
         {
             if ((i!=j)&&(kolleniarni(M[i],M[j])))return 0;
         }
     }
     return 1;
}
 
void cross(line &l1,line &l2,point &p)
{
      p.y=(-l1.c+l1.a*l2.c)/(l1.b-l1.a*l2.b/l2.a);
      p.x=-l2.c-l2.b*p.y/l2.a;
}     
 
bool nocroses(line M[],int n)
{
     for (int i=0;i<n;i++)
     {
         for (int j=0;j<n;j++)
         {
             for (int k=0;k<n;k++)
             {
                 //getch();
                 point p1(0,0); cross(M[i],M[j],p1); //здесь ошибка
                 point p2(0,0); cross(M[i],M[k],p2);
                 point p3(0,0); cross(M[k],M[j],p3);
 
                 bool p=(p1.x==p2.x)&&(p1.y==p2.y)&&(p3.x==p2.x)&&(p3.y==p2.y)&&(p1.x==p3.x)&&(p1.y==p3.y);
                 
                 if (/**/(i!=j)&&(j!=k)&&(i!=k)&&( p )/**/)return 0;
             }
         }
     }
     return 1;
 
}
 
int main()
{
    int n;
    //cout << "input number of lines\n"; 
    //cin >> n;
    n=3;
    line M[3];
    M[0].set(1,1,4);
    M[1].set(3,2,1);
    M[2].set(4,5,4);
    cout << diff(M,n)<<endl;
    cout << NeKolleniarniVse(M,n) <<endl;
    cout << nocroses(M,n)<<endl;
    getch();
}
Добавлено через 2 часа 56 минут
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2009, 22:16     Ошибка при запуске программы
Посмотрите здесь:

Ошибка Windows при запуске программы C++
Ошибка при запуске отладки программы C++
C++ Ошибка при запуске программы
C++ Ошибка при запуске программы
Ошибка при запуске программы C++
C++ Ошибка при запуске программы
Ошибка при запуске программы C++
C++ Ошибка при запуске программы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
23.12.2009, 08:07     Ошибка при запуске программы #2
там по моему ясно черным по серому написано - деление на ноль в 59 строке
Yandex
Объявления
23.12.2009, 08:07     Ошибка при запуске программы
Ответ Создать тему
Опции темы

Текущее время: 16:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru