Не выделяется память под массив - C (СИ)
Формулировка задачи:
void FloodFill_3(HDC hdc, RECT rect, COLORREF color, COLORREF border) //Растровая развертка многоугольников { //flags - состояние каждого пиксела в строке: -1 - граница, 0 - вне фигуры, 1 - внутри фигуры int *flags = (int*) malloc((rect.right - rect.left) * sizeof(int)); bool flag = false; //false - вне фигуры, true - внутри фигуры (только для случая: [i] == !border, при [i-1] == border) for(int y = rect.top; y <= rect.bottom; y++) { int i = 0; for(int x = rect.left; x <= rect.right; x++) { if(i == 0) if(GetPixel(hdc,x,y) != border) flags[i] = 0; else { flags[i] = -1; flag = true; } else if(GetPixel(hdc,x,y) != border) { if(flags[i-1] == -1) if(flag) { flags[i] = 0; flag = false; } else { flags[i] = 1; flag = true; } if(flags[i-1] == 0) { flags[i] = 0; flag = false; } if(flags[i-1] == 1) { flags[i] = 1; flag = true; } } else flags[i] = -1; if(flags[i] == 1) SetPixel(hdc,x,y,color); i++; } } }
Решение задачи: «Не выделяется память под массив»
textual
Листинг программы
enum TEST { int a; int b; int c; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д