Я работаю над своей домашней работой, и мне нужен алгоритм заполнения заливки в c, но рекурсия, структуры и любая библиотека (кроме stdio.h) не оговорены, мне разрешено использовать только итерацию. Я работал на нем в течение 3-х дней, но я не мог это сделать, мне нужна помощьАлгоритм наводнения с итерацией
oldTeam (глобальная переменная) является целевой цвет
newTeam (глобальная переменная.) Является замена цвета
х и у (как глобальный) являются строками и колонные от начальной точки наводнения заполнения
рХа и р являются переменными, чтобы хранить начальные координаты начальной точки
и функция hasNeighbor (х, у) является поиск, есть ли какие-либо цвето whic является целевым цветом:
int hasNeighbor(int x,int y)
{
if(table[x+1][y]==oldTeam || table[x+1][y+1]==oldTeam || table[x+1][y-1]==oldTeam || table[x][y+1]==oldTeam || table[x][y-1]==oldTeam || table[x-1][y]==oldTeam || table[x-1][y-1]==oldTeam || table[x-1][y+1]==oldTeam)
return 1;
else
return 0;
}
Где ошибка в моем коде или алгоритме
(Прежде чем задать этот вопрос, я был поиск этой темы на этом сайте, и Google, но решения, которые я нашел содержат рекурсии, структуру или не разрешено библиотеку)
спасибо ..
Вам следует избегать использования goto везде, где это возможно (что означает почти везде). – Eregrith
@Eregrith да, я тоже знаю, что у меня нет опыта работы с goto, но это окончательная версия моего кода, и я пробовал миллион разных вещей, и я получил миллион неудач – mugetsu
Все нормально, это случается со всеми. Не волнуйтесь, вы скоро это получите. В то же время, сохраняйте вредные привычки снаружи;) – Eregrith