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

консольный морской бой - размещение кораблей - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Допуск к ПК с помощью своей программы http://www.cyberforum.ru/cpp-beginners/thread394956.html
Здравствуйте. Я ученик 11ого класса/ Хочу поступить в бауманку по олимпиаде "Шаг в будущее". В школе прохожу только Visual Basic. Зафиксировал тему проекта как "Защита ПО от несанкционированного доступа". Есть мысли: при включении компьютера заместо стандартного в Windows введите логин пароль, поменять это на 5 рандомных вопросов, которые постоянно разные, а позиции ответов на эти...
C++ Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса "Книга" Помогите пожалуйста с задачей: Написать демонстрационную программу, в которой создаются и разрушаются объекты пользовательского класса "Книга" и каждый вызов конструктора и деструктора сопровождается выдачей соответствующего сообщения (какой объект какой конструктор или деструктор вызвал). Отсортировать массив объектов по свойству автор. Получить отсортированный список книг по заданной... http://www.cyberforum.ru/cpp-beginners/thread394954.html
Вычисление корня числа с помощью итерационной формулы C++
Всем привет:) помогите сделать задачку З.Ы исходник Должен имень Функцыю зарание, спасибо
Выполнить в двумерном массиве поиск столбца с максимальной суммой элементов C++
Выполнить в двумерном массиве поиск столбца с максимальной суммой элементов.Помогите плиз с решением задачи
C++ Найти среднее арифметическое цифр каждого числа последовательности http://www.cyberforum.ru/cpp-beginners/thread394926.html
Вводится последовательность из N целых чисел. Найти среднее арифметическое цифр каждого числа последовательности (функцией оформить определение среднего арифметического цифр числа).
C++ Подскажите, как написать проги для двух задач 1.В одномерном массиве, состоящем из n вещественных элементов, вычислить: • количество элементов меньших среднего арифметического; • упорядочить по возрастанию элементы, лежащие между минимальным и максимальным методом пузырька. 2. Дана целочисленная квадратная матрица. Определить: • номер строки, в которой содержится более одного заданного символа; • максимальный элемент матрицы и поменять... подробнее

Показать сообщение отдельно
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
29.11.2011, 19:25     консольный морской бой - размещение кораблей
Доброго времени суток!
Взялся за консольный морской бой. Сейчас на стадии расстановки компьютером кораблей.
Одним из условий является то, что нельзя ставить два корабля впритык. То есть, вокруг него должны быть свободные клетки.
C++
1
2
3
4
5
while(b[cifra1][cifra_bukva1] != ' ' || b[cifra1 + 1][cifra_bukva1] != ' ' || b[cifra1 - 1][cifra_bukva1] != ' ' || b[cifra1][cifra_bukva1+1] != ' ' || b[cifra1 ][cifra_bukva1-1] != ' ' || b[cifra1+1][cifra_bukva1+1] != ' ' || b[cifra1-1][cifra_bukva1-1] != ' ' || b[cifra1-1][cifra_bukva1+1] != ' ' || b[cifra1+1][cifra_bukva1-1] != ' ')
        {
            cifra1 = 1 + rand() % 10;
            cifra_bukva1 = 1 + rand() % 8;
        }
Делаем проверку всех клеток вокруг корабля. Если где-нибудь в центре поля, то все ок. Но если мы поставим, например, в верхний левый угол, то происходит зацикливание.
Вероятно из-за того, что мы хотим проверить клетки левее и выше (а выше и левее нету - использовано двумерный массив и выходит, что верхний левый элемент [0][0] и если отнимим -1, то будем искать непонятно где)
Посоветуйте, пожалуйста, как бы избежать подобную ошибку?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru