Вопрос прекращена работа безымянный.exe - как исправить это? c++

Регистрация
31 Июл 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
Компилирую код в dev c++.

когда запускаю, все вроде работает - ошибок нет, но он говорит:"прекращена работа "безымянный.exe"".



вот собственно код:



#include <stdlib.h>

#include <iostream>

#include <graphics.h>

#include <string>

#include <math.h>



using namespace std;





struct Ball{int x;int y;int angle;};

struct Ball balls[50];

int h = 13;

int w = 19;

int pi = 3.141592653589793238462643;

string map = "";



struct LINE{int x;int y;};

struct LINE lines[][2] = {{{3, 4}, {6, 4}}};

struct LINE per(int x1, int x2, int x3, int x4, int y1, int y2, int y3, int y4) {

int perx=-(((x1*y2-x2*y1)*(x4-x3)-(x3*y4-x4*y3)*(x2-x1))/((y1-y2)*(x4-x3)-(y3-y4)*(x2-x1)));

struct LINE MASS{perx, ((y3-y4)*-perx-(x3*y4-x4*y3))/(x4-x3)};

return MASS;

}



void setup() {

map+="####################";

map+="# #";

map+="# #";

map+="# #";

map+="# #";

map+="# #";

map+="# #";

map+="# #";

map+="# #";

map+="# #";

map+="# #";

map+="# #";

map+="# #";

map+="####################";

for (int i = 0;i<50;i++) {

balls={w/2, h, pi/200*i+0.0000001+pi/2};

balls.x+=sin(balls.angle)*10;

balls.y+=cos(balls.angle)*10;

}

}



int main() {

setup();

for (int i = 0;i<sizeof(lines);i++) {

for (int j = 0;j<sizeof(balls);j++) {

struct Point{int x;int y;};

struct Point point {

per(w/2, balls[j].x, lines[0].x, lines[1].x, h, balls[j].y, lines[0].y, lines[1].y).x,

per(w/2, balls[j].x, lines[0].x, lines[1].x, h, balls[j].y, lines[0].y, lines[1].y).y};

int dist = hypot(w/2-point.x, h-point.y);

}

}

return 0;

}
875a8375f91de049494d6073098e8a2f_f133ee898acef3e327e0b98c69d20606.png

 
В настройках компиляции, в поле опций компиляции или сборки, нужно добавить опцию -std=c++11
Компилятор же пишет в предупреждениях.
Ибо по умолчанию в DEV-C++ стоит мрачный старый компилятор.
 
ну у тебя как минимум выход за пределы массивов в этих циклах
for (int i = 0;i<sizeof(lines);i++) {
for (int j = 0;j<sizeof(balls);j++) {
 
Назад
Сверху