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

Матрица,в чем ошибка? - C++

Восстановить пароль Регистрация
 
Lenovo_G575
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 41
10.09.2013, 19:46     Матрица,в чем ошибка? #1
Дана шахматная доска 8*8, при вводе координат, должны отображатться ходы Ферзя.

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
32
33
34
35
36
37
38
#include <iostream>
using namespace std;
int main() 
{   
    const int n=8,m=8;
    char desk[n][m]={{11,12,13,14,15,16,17,18},
                    {21,22,23,24,25,26,27,28},
                    {31,32,33,34,35,36,37,38},
                    {41,42,43,44,45,46,47,48},
                    {51,52,53,54,55,56,57,58},
                    {61,62,63,64,65,66,67,68},
                    {71,72,73,74,75,76,77,78},
                    {81,82,83,84,85,86,87,88}};
    int x,y;
    cin>>x>>y;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
        {
            if(i==x && j==y)
                desk[i][j]='F';
                if((i==x) &&(desk[i][j]=!'F') || (j==y) &&(desk[i][j]=!'F'))
                    desk[i][j]='*';
                    if((i+j==x+y) && (desk[i][j]=!'F')) 
                        desk[i][j]='*';
                        if((i-j==x-y) && (desk[i][j]=!'F')) 
                            desk[i][j]='*';
                            if((desk[i][j]=!'F') && (desk[i][j]=!'*'))
                                desk[i][j]='0';
        }
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
        {
    cout<<desk[i][j];
        }
    cin.get();
    cin.get();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2013, 19:46     Матрица,в чем ошибка?
Посмотрите здесь:

C++ В чем ошибка
В чем ошибка? C++
C++ в чем ошибка?
в чем ошибка? C++
C++ В чем ошибка?
C++ В чем ошибка?
В чем ошибка? C++
В чем ошибка C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
10.09.2013, 19:56     Матрица,в чем ошибка? #2
в любом массиве индексы элементов нумеруются с нуля.
если размер массива 8х8 то обращение к элементу desk[8][8] - это типичный выход за границу массива

Добавлено через 2 минуты
просто чтение из desk[8][8] ничего плохого не принесет
а если происходит запись в desk[8][8] то поведение программы будет непредсказуемым, потому что могут испортится чужие данные
Yandex
Объявления
10.09.2013, 19:56     Матрица,в чем ошибка?
Ответ Создать тему
Опции темы

Текущее время: 09:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru