Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Какая у меня ошибка в коде в Visual studio?

Владимир Мастер (1185), на голосовании 5 месяцев назад
 // Morskoy_boy 
//

#include
#include
#include

int main()
{
const int size = 10; // Размер поля
srand(time(0)); // Инициализация генератора случайных чисел

while (true)
{
int map[size][size] = { 0 };
int x, y;
int direction = 0; // Направление
int count_ship = 0;

while (count_ship < 3)
{
//Первичная позиция
x = rand() % size;
y = rand() % size;

int temp_x = x;
int temp_y = y;

direction = rand() % 4; //генерация направления
bool setting_is_possible = 1;

//Проверка постановки корабля
for (int i = 0; i < 5; i++)
{
if (x < 0 || y < 0 || x >= size || y >= size)
{
setting_is_possible = 0;
break;
}

if (map[x][y] == 1 ||
(map[x][y + 1] == 1 ||
(map[x][y - 1] == 1 ||
(map[x + 1][y] == 1 ||
(map[x + 1][y + 1] == 1 ||
(map[x + 1][y - 1] == 1 ||
(map[x - 1][y] == 1 ||
(map[x - 1][y + 1] == 1 ||
(map[x - 1][y - 1] == 1)) {
setting_is_possible = 0;
break;
}
{
setting_is_possible = 0;
break;
}

map[x][y] = 1;
switch (direction)
{
case 0:
x++;
break;
case 1:
y++;
break;
case 2:
x--;
break;
case 3:
y--;
break;
}


// если есть возможность поставить корабль, ставим
if (setting_is_possible)
{
x = temp_x;
y = temp_y;
for (int i = 0; i < 5; i++)
{
map[x][y] = 1;
switch (direction)
{
case 0:
x++;
break;
case 1:
y++;
break;
case 2:
x--;
break;
case 3:
y--;
break;
}
}
count_ship++;
}
}

//Прорисовка
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
if (map[i][j] == 0)
{
std::cout << "-";
}
else
{
std::cout << map[i][j];
}
}
std::cout << std::endl;
}

system("pause"); // Ожидание нажатия клавиши
system("cls"); // Очистка экрана
}


}
Дополнен 6 месяцев назад
Компилятор жалуется на:
Голосование за лучший ответ
Владислав Иванов Знаток (285) 6 месяцев назад
Ну у тебя тут получается есть необъявленные переменные это раз. Во вторых посмотри еще раз что у тебя стоят все скобки и точки с запятыми
ВладимирМастер (1185) 6 месяцев назад
У меня в этом месте какая то проблема, хотя вроде всё правильно:
Похожие вопросы