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

Попадание в Морском Бою - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно прочитать со входного потока число и строку, как проигнорировать лишние символы? http://www.cyberforum.ru/cpp-beginners/thread770820.html
Всем привет! Со входного потока нужно прочитать число, а затем в новой строке string... Гугл мне сказал, что после того, как мы ввели число, в буфере остаётся символ '\n'. Пишу: #include <iostream> #include <string> ... int main () {
C++ Определение учетной записи, из-под которой был скопирован файл в сеть Добрый времени суток, коллеги! На сетевой диск сохраняется файл. В свойствах файла присутствует информация о разрешениях для групп пользователей, имеющих к нему доступ. Также в списке представлено имя учетной записи, из-под которой было осуществлено копирование. Пожалуйста, подскажите, как средствами c++ получить имя этой учетной записи? http://www.cyberforum.ru/cpp-beginners/thread770810.html
C++ Матрица 8х8 как подправить?
Вот мое задание: 1.Для данной матрицы размером 8x8, найти такие k, что k-ая строка матрицы совпадает с k-ым столбцом. 2.Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент. Собственно написал программу, но вот не пойму почему вот такие ошибки при ее выполнении: 1) при вводе всех положительных элементов программа не работает 2) При вводе элемента с...
Класс стек что не так? C++
Компилятор ругается, что в конструкторе элемент массива объявлён в раз. как такое может быть он же в классе объявлён и видимость прописана. Кстати, это не единственное на что он жалуется. Не понимаю что не так? Код: # include <iostream> # define SIZE 26; using namespace std; class stack { char stck ; int tos;
C++ Поместить и взять с потока http://www.cyberforum.ru/cpp-beginners/thread770761.html
Ошибка в коде программы, 21 строчка, не видет "num" #include<iostream.h> #include<conio.h> #include<math.h> #include<stdlib.h> class PhoneNumber { friend ostream & operator << (ostream &, const PhoneNumber &);
C++ Шаблон класса «бинарное дерево», добавление элементов Написал код: #include <iostream> using namespace std; class Aviobilet { public: char Punkt; int Num; подробнее

Показать сообщение отдельно
СПП
25 / 25 / 2
Регистрация: 15.12.2012
Сообщений: 71
27.01.2013, 14:53
Цитата Сообщение от Vlad708 Посмотреть сообщение
Проблема в том, что когда игрок попадает, не выводиться знак "Х",
В этом коде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
void show(char map[s][c]) {
    for (int i=0; i<10; i++)
    {
        for (int j=0; j<10; j++)
        {
            if (computer.hits[i][j] == 1 && human.ships[i][j] == 3)
            {
                map[i+2][j+2] = 'O';
            }
            else if (computer.hits[i][j] == 1 && human.ships[i][j] != 3)
            {
                map[i+2][j+2] = 'X';
            }
 
            if (computer.ships[i][j] == 3 && human.hits[i][j] == 1)
            {
                map[i+2][j+2+15] = 'X';
            }
            else if (computer.ships[i][j] != 3 && human.hits[i][j] == 1)
            {
                map[i+2][j+2+15] = 'O';
            }
        } 
    } 
    for (int i=0; i<s; i++) {
        for (int j=0; j<c; j++) {
            cout << map[i][j];
        }
        cout << "\n";
    }
}
в этом фрагменте
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (computer.hits[i][j] == 1 && human.ships[i][j] == 3)
            {
                map[i+2][j+2] = 'O';
            }
            else if (computer.hits[i][j] == 1 && human.ships[i][j] != 3)
            {
                map[i+2][j+2] = 'X';
            }
 
            if (computer.ships[i][j] == 3 && human.hits[i][j] == 1)
            {
                map[i+2][j+2+15] = 'X';
            }
            else if (computer.ships[i][j] != 3 && human.hits[i][j] == 1)
            {
                map[i+2][j+2+15] = 'O';
            }
первый цикл if, else if относится к полю игрока, и посмотрите на это внимание как вы написали
C++
1
2
computer.hits[i][j] == 1 && human.ships[i][j] == 3
computer.hits[i][j] == 1 && human.ships[i][j] != 3
в 1 строчке "== 3" во второй "!= 3"
если промазали то должно равняться 3, если попал то недолжно равняться 3
посмотрим на второй цикл if, else if
C++
1
2
computer.ships[i][j] == 3 && human.hits[i][j] == 1
computer.ships[i][j] != 3 && human.hits[i][j] == 1
Я думаю вам уже должно быть понятно, где ошибка

ЗЫ. если нет то поставте вместо этого
C++
1
2
3
4
if (computer.ships[i][j] == 3 && human.hits[i][j] == 1)
            {
                map[i+2][j+2+15] = 'X';
            }
нужно вот так
C++
1
2
3
4
if (computer.ships[i][j] == 3 && human.hits[i][j] != 1)
            {
                map[i+2][j+2+15] = 'X';
            }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru